मान लीजिए कि हमारे पास संख्याओं की एक क्रमबद्ध सरणी है, हमें लगातार तत्वों के सबसे लंबे अनुक्रम की लंबाई का पता लगाना है।
इसलिए, यदि इनपुट अंकों की तरह है =[70, 7, 50, 4, 6, 5], तो आउटपुट 4 होगा, क्योंकि लगातार तत्वों का सबसे लंबा अनुक्रम [4, 5, 6, 7] है। इसलिए हम इसकी लंबाई लौटाते हैं:4.
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
अंक :=अंकों के सभी अद्वितीय तत्व
-
max_cnt :=0
-
अंकों में प्रत्येक अंक के लिए, करें
-
यदि संख्या -1 अंकों में नहीं है, तो
-
सीएनटी:=0
-
जबकि संख्या अंकों में मौजूद है, करें
-
संख्या :=संख्या + 1
-
सीएनटी:=सीएनटी + 1
-
-
max_cnt:=max_cnt और cnt की अधिकतम
-
-
-
वापसी max_cnt
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
class Solution: def solve(self, nums): nums = set(nums) max_cnt = 0 for num in nums: if num - 1 not in nums: cnt = 0 while num in nums: num += 1 cnt += 1 max_cnt = max(max_cnt, cnt) return max_cnt ob = Solution() nums = [70, 7, 50, 4, 6, 5] print(ob.solve(nums))
इनपुट
[70, 7, 50, 4, 6, 5]
आउटपुट
4