मान लीजिए कि हमारे पास एक सरणी संख्या है, और तीन अलग-अलग पूर्णांक ए, बी और सी हैं। हमें अच्छे त्रिक की संख्या ज्ञात करनी है। एक ट्रिपलेट (nums[i], nums[j], nums[k]) को एक अच्छा ट्रिपलेट कहा जाता है यदि निम्नलिखित स्थितियां सही हों -
-
0 <=i
-
|nums[i] - nums[j]| <=ए
-
|nums[j] - nums[k]| <=बी
-
|nums[i] - nums[k]| <=सी
हमें अच्छे त्रिगुणों की संख्या गिननी है।
इसलिए, यदि इनपुट nums=[5,2,3,3,12,9], a =7, b =2, c =3 जैसा है, तो आउटपुट 4 होगा क्योंकि अच्छे ट्रिपल हैं [(5, 2,3), (5,2,3), (5,3,3), (2,3,3)]
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
रेस :=0
-
मैं के लिए 0 से लेकर अंकों के आकार -1 तक की सीमा में, करें
-
j के लिए i+1 से लेकर अंकों के आकार -1 तक, करें
-
k के लिए j+1 से लेकर अंकों के आकार -1 तक, करें
-
अगर | अंक [i] - अंक [जे] | <=a और |nums[j] - nums[k]| <=b और |nums[i] - nums[k]| <=सी, फिर
-
रेस :=रेस + 1
-
-
-
-
-
रिटर्न रेस
उदाहरण (पायथन)
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
def solve(nums, a, b, c): res = 0 for i in range(len(nums)): for j in range(i+1, len(nums)): for k in range(j+1, len(nums)): if abs(nums[i] - nums[j]) <= a and abs(nums[j] - nums[k]) <= b and abs(nums[i] - nums[k]) <= c: res += 1 return res nums= [5,2,3,3,12,9] a = 7 b = 2 c = 3 print(solve(nums, a, b, c))
इनपुट
[5,2,3,3,12,9], 7, 2 3
आउटपुट
4