मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची और एक पूर्णांक k है। हमें nums से तत्व चुनकर आकार k की एक सूची बनानी है जिससे सूची में सबसे बड़े और सबसे छोटे पूर्णांक का अंतर जितना संभव हो उतना कम हो। और हमें यह अंतर लौटाना है।
उदाहरण के लिए, यदि इनपुट nums = [3, 11, 6, 2, 9], k = 3 है, तो आउटपुट 4 होगा, क्योंकि सबसे अच्छी सूची [2, 3, 6] है।
इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे:
numsको सॉर्ट करें।ls := []।iको 0 सेlen(nums) - kतक लूप में चलाएं:ls.append(nums[i + k - 1] - nums[i])।
min(ls)लौटाएं।
उदाहरण
class Solution: def solve(self, nums, k): nums.sort() ls = [] for i in range(len(nums) - k + 1): ls.append(nums[i + k - 1] - nums[i]) return min(ls) ob = Solution() nums = [3, 11, 6, 2, 9] k = 3 print(ob.solve(nums, k))
इनपुट
[3, 11, 6, 2, 9],3
आउटपुट
4