मान लीजिए कि हमारे पास संख्याओं की एक सूची है जिसे अंक कहा जाता है और एक अन्य मूल्य लक्ष्य है, हमें ट्रिपल (i
इसलिए, यदि इनपुट nums =[−2, 6, 4, 3, 8], लक्ष्य =12 जैसा है, तो आउटपुट 5 होगा, क्योंकि ट्रिपल हैं:[−2,6,4], [−2 ,6,3], [−2,4,3], [−2,4,8], [−2,3,8]
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
सूची संख्या क्रमित करें
-
उत्तर:=0
-
n :=अंकों का आकार
-
0 से n−1 की श्रेणी में i के लिए, करें
-
के :=n - 1
-
j के लिए i + 1 से n−1 की श्रेणी में, करें
-
जबकि k> j और nums[i] + nums[k] + nums[j]>=target, do
-
के :=के - 1
-
-
यदि j, k के समान है, तो
-
-
उत्तर:=उत्तर + के - जे
-
-
वापसी उत्तर
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
class Solution: def solve(self, nums, target): nums.sort() ans = 0 n = len(nums) for i in range(n): k = n − 1 for j in range(i + 1, n): while k > j and nums[i] + nums[k] + nums[j] >= target: k -= 1 if j == k: break ans += k − j return ans ob1 = Solution() nums = [−2, 6, 4, 3, 8] target = 12 print(ob1.solve(nums, target))
इनपुट
[-2, 6, 4, 3, 8], 12
आउटपुट
5