ধরা যাক একটি অক্রমাগত সংখ্যার অ্যারে আছে, আমাদের ক্রমাগত উপাদান সম্বলিত সর্বোচ্চ সিকোয়েন্সের দৈর্ঘ্য খুঁজে বের করতে হবে।
উদাহরণ: nums = [70, 7, 50, 4, 6, 5] হলে আউটপুট 4, কারণ সর্বোচ্চ ক্রমাগত সিকোয়েন্স হল [4, 5, 6, 7]।
সমাধানের ধাপসমূহ
- nums := nums-এর সব অনন্য উপাদান (সেটে রূপান্তর)।
- max_cnt := 0
- প্রতিটি num-এর জন্য nums-এ:
- যদি num - 1 nums-এ না থাকে, তবে:
- cnt := 0
- যতক্ষণ num nums-এ থাকে, ততক্ষণ 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