मान लीजिए कि हमारे पास संख्याओं की एक सूची है जिसे अंक और एक मान k कहा जाता है, हमें यह जांचना होगा कि सूची में चार अद्वितीय तत्व हैं जो k तक जोड़ते हैं।
इसलिए, यदि इनपुट अंकों की तरह है =[11, 4, 6, 10, 5, 1] k =25, तो आउटपुट सही होगा, क्योंकि हमारे पास [4, 6, 10, 5] है जिसका योग 25 है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
सूची संख्या क्रमित करें
-
n :=अंकों का आकार
-
मैं के लिए 0 से n -4 की सीमा में, करते हैं
-
j के लिए i + 1 से n − 3 की श्रेणी में, करें
-
l :=j + 1, h :=अंकों का आकार - 1
-
जबकि एल <एच, करो
-
योग:=अंक [i] + अंक [जे] + अंक [एल] + अंक [एच] पी>
-
यदि योग k के समान है, तो
-
सही लौटें
-
-
अन्यथा जब योग
-
एल :=एल + 1
-
-
अन्यथा,
-
एच:=एच - 1
-
-
-
-
-
-
झूठी वापसी
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
class Solution: def solve(self, nums, k): nums.sort() n = len(nums) for i in range(n - 3): for j in range(i + 1, n - 2): l, h = j + 1, len(nums) - 1 while l < h: summ = nums[i] + nums[j] + nums[l] + nums[h] if summ == k: return True elif summ < k: l += 1 else: h −= 1 return False ob1 = Solution() nums = [11, 4, 6, 10, 5, 1] k = 25 print(ob1.solve(nums, k))
इनपुट
[11, 4, 6, 10, 5, 1], 25
आउटपुट
True