मान लीजिए कि हमारे पास संख्याओं की एक सूची है जिसे अंक और एक पूर्णांक k कहा जाता है, हमें आकार k की सूची बनाने के लिए संख्याओं से तत्वों का चयन करना होगा जैसे कि सूची में सबसे बड़े पूर्णांक और सबसे छोटे पूर्णांक के बीच का अंतर जितना संभव हो उतना कम हो। और हम इस अंतर को वापस कर देंगे।
इसलिए, यदि इनपुट nums =[3, 11, 6, 2, 9], k =3 जैसा है, तो आउटपुट 4 होगा, क्योंकि हम जो सबसे अच्छी सूची बना सकते हैं वह है [2, 3, 6]।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
सूची संख्या क्रमित करें
-
एलएस:=एक नई सूची
-
मेरे लिए 0 से लेकर अंकों के आकार तक - k + 1, do
-
ls के अंत में nums[i + k - 1] - nums[i] डालें
-
-
कम से कम एलएस
. लौटाएं
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
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