मान लीजिए कि हमारे पास संख्याओं की एक सूची है जिसे अंक कहा जाता है और एक अन्य मूल्य लक्ष्य है, हमें ट्रिपल (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