मान लीजिए हमारे पास nums नामक विशिष्ट संख्याओं की एक सूची है। यहां एक ग्लोबल इनवर्जन तब होता है जब इंडेक्स i < j ऐसे कि nums[i] > nums[j]। और लोकल इनवर्जन तब होता है जब इंडेक्स i और i+1 ऐसे कि nums[i] > nums[i+1]। हमें जांचना है कि ग्लोबल इनवर्जन की संख्या लोकल इनवर्जन की संख्या के बराबर है या नहीं।
उदाहरण के लिए, यदि इनपुट nums = [3, 2, 4] है, तो आउटपुट True होगा, क्योंकि इंडेक्स 0 और 1 दोनों ग्लोबल और लोकल इनवर्जन हैं।
समाधान दृष्टिकोण
इसे हल करने के लिए हम निम्नलिखित चरणों का पालन करेंगे:
l := len(nums)iको 0 सेl-3तक:jकोi+2सेl-1तक:- यदि
nums[i] > nums[j]:Falseलौटाएं
- यदि
Trueलौटाएं
नोट: यह इस तथ्य पर आधारित है कि यदि कोई नॉन-लोकल इनवर्जन (दूरी ≥ 2) मौजूद है, तो ग्लोबल > लोकल होगा।
उदाहरण कोड
class Solution:
def solve(self, nums):
l = len(nums)
for i in range(l-2):
for j in range(i+2, l):
if nums[i] > nums[j]:
return False
return True
ob = Solution()
nums = [3, 2, 4]
print(ob.solve(nums))इनपुट
[3, 2, 4]
आउटपुट
True