मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है, हमें जांचना है कि क्या दो संख्याएं ऐसी हैं कि एक दूसरी का ट्रिपल है या नहीं।
यदि इनपुट nums = [2, 3, 10, 7, 9] जैसा है, तो आउटपुट True होगा, क्योंकि 9, 3 का ट्रिपल है।
इसे हल करने के लिए हम निम्नलिखित चरणों का पालन करेंगे:
- i := 0
- सूची n को सॉर्ट करें
- j := 1
- जब तक j < n का आकार, करें:
- यदि 3*n[i] == n[j], तो True लौटाएं
- यदि 3*n[i] > n[j], तो j := j + 1
- अन्यथा, i := i + 1
- False लौटाएं
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
उदाहरण
class Solution:
def solve(self, n):
i = 0
n.sort()
j = 1
while j < len(n):
if 3*n[i] == n[j]:
return True
if 3*n[i] > n[j]:
j += 1
else:
i += 1
return False
ob = Solution()
print(ob.solve([2, 3, 10, 7, 9]))
इनपुट
[2, 3, 10, 7, 9]
आउटपुट
True