ปัญหา
ให้อาร์เรย์ nums และค่า k การดำเนินการ: ลบค่าที่น้อยที่สุด (ที่ไม่ใช่ศูนย์) ออกจากทุกค่าที่ไม่ใช่ศูนย์ ทำซ้ำ k ครั้ง ต้องการทราบว่าสามารถทำให้ทุกค่าเป็นศูนย์ได้หรือไม่
ข้อสังเกตสำคัญ
จำนวนครั้งที่ต้องดำเนินการ = จำนวนค่าที่แตกต่างกัน (distinct values) ในอาร์เรย์
ตัวอย่าง
nums = [2, 2, 3, 4], k = 3 → distinct = {2,3,4} → 3 ค่า → True
โค้ดตัวอย่าง
def solve(nums, k):
return len(set(nums)) == k
print(solve([2, 2, 3, 4], 3)) # True
อินพุต / เอาต์พุต
Input: [2, 2, 3, 4], 3 Output: True