मान लीजिए हमारे पास एक सरणी nums और एक मान k है, हमें जांचना है कि क्या nums के तत्वों को दिए गए ऑपरेशन को ठीक k बार करके 0 बनाया जा सकता है।
ऑपरेशन: सरणी से सबसे छोटे तत्व को सभी गैर-शून्य मानों से घटाएं।
उदाहरण के लिए, यदि nums = [2, 2, 3, 5], k = 3 है, तो आउटपुट True होगा क्योंकि: पहले 2 घटाएं → [0, 0, 1, 3] फिर 1 घटाएं → [0, 0, 0, 2] फिर 2 घटाएं → [0, 0, 0, 0]
हल करने का तरीका
- यदि सरणी में k अलग-अलग तत्व हैं, तो True लौटाएं
- अन्यथा False लौटाएं
प्रत्येक ऑपरेशन में एक नया न्यूनतम गैर-शून्य तत्व शून्य हो जाता है, इसलिए अलग-अलग मानों की संख्या ऑपरेशनों की संख्या के बराबर होती है।
उदाहरण कोड
def solve(nums, k):
distinct = set(nums)
if len(distinct) == k:
return True
return False
nums = [2, 2, 3, 4]
k = 3
print(solve(nums, k))
इनपुट
[2, 2, 3, 4], 3
आउटपुट
True