मान लीजिए हमारे पास एक असॉर्टेड सरणी है, हमें लगातार तत्वों के सबसे लंबे अनुक्रम की लंबाई ढूंढनी है।
उदाहरण के लिए, यदि इनपुट nums = [70, 7, 50, 4, 6, 5] है, तो आउटपुट 4 होगा, क्योंकि सबसे लंबा लगातार अनुक्रम [4, 5, 6, 7] है, इसलिए हम इसकी लंबाई 4 लौटाते हैं।
इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे:
nums := nums के सभी अद्वितीय तत्व(सेट में बदलें)।max_cnt := 0आरंभ करें।प्रत्येक
numके लिएnumsमें:यदि
num - 1numsमें नहीं है, तो:cnt := 0।जब तक
numnumsमें मौजूद है:num := num + 1।cnt := cnt + 1।
max_cnt := max(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