मान लीजिए हमारे पास nums नामक संख्याओं की एक सरणी है, इसमें डुप्लिकेट तत्व हो सकते हैं। हमें जांचना है कि क्या यह सन्निकट संख्याओं का समुच्चय है या नहीं।
उदाहरण के लिए, यदि nums = [6, 8, 8, 3, 3, 3, 5, 4, 4, 7] है, तो आउटपुट True होगा क्योंकि तत्व 3, 4, 5, 6, 7, 8 हैं।
हल करने का तरीका
- सूची nums को सॉर्ट करें
- 1 से आकार-1 तक लूप:
- यदि nums[i] - nums[i-1] > 1, तो False लौटाएं
- True लौटाएं
सॉर्ट करने के बाद, यदि कोई अंतर 1 से अधिक है तो सन्निकट नहीं हैं। डुप्लिकेट को नजरअंदाज किया जाता है क्योंकि उनका अंतर 0 होता है।
उदाहरण
def solve(nums):
nums.sort()
for i in range(1, len(nums)):
if nums[i] - nums[i-1] > 1:
return False
return True
nums = [6, 8, 8, 3, 3, 3, 5, 4, 4, 7]
print(solve(nums))
इनपुट
[6, 8, 8, 3, 3, 3, 5, 4, 4, 7]
आउटपुट
True