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