मान लीजिए कि हमारे पास संख्याओं की एक सूची है जिसे nums कहा जाता है और दूसरा मान k है, तो हमें k आकार के लेक्सिकोग्राफ़िक रूप से सबसे छोटे अनुक्रम को खोजना होगा।
इसलिए, यदि इनपुट संख्या =[2, 3, 1, 10, 3, 4] k =3 जैसा है, तो आउटपुट [1, 3, 4]
होगा।इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- l :=अंकों का आकार, r :=k - 1
- बाहर:=एक नई सूची
- जे के लिए 0 से k की सीमा में, करें
- mn :=nums[r का पूरक]
- r से l की श्रेणी में i के लिए, करते हैं
- यदि mn>=nums[i का पूरक], तो
- mn:=nums[i का पूरक]
- l :=i
- यदि mn>=nums[i का पूरक], तो
- r :=r - 1
- बाहर के अंत में mn डालें
- वापसी
उदाहरण (पायथन)
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
class Solution: def solve(self, nums, k): l, r = len(nums), k - 1 out = [] for j in range(k): mn = nums[~r] for i in range(r, l): if mn >= nums[~i]: mn = nums[~i] l = i r -= 1 out.append(mn) return out ob = Solution() nums = [2, 3, 1, 10, 3, 4] k = 3 print(ob.solve(nums, k))
इनपुट
[2, 3, 1, 10, 3, 4], 3
आउटपुट
[1, 3, 4]