ধরুন আমাদের কাছে একটি অনন্য সংখ্যার তালিকা আছে যাকে বলা হয় সংখ্যা। আমাদের সংখ্যাগুলির একটি সাজানো 2D ম্যাট্রিক্স খুঁজে বের করতে হবে যেখানে প্রতিটি তালিকা একটি অন্তর্ভুক্ত ব্যবধানের সংক্ষিপ্ত সংখ্যা উপস্থাপন করে যা সংখ্যায় সংলগ্ন।
সুতরাং, যদি ইনপুটটি সংখ্যার মত হয় =[10, 11, 12, 15, 16, 17, 28, 30], তাহলে আউটপুট হবে [[10, 12], [15, 17], [28, 28] , [30, 30]], তালিকায় যেমন [10 থেকে 12], [15 থেকে 17] সংলগ্ন, এবং 28 এবং 30 আছে, সেগুলিকে [28 থেকে 28] এবং [30 থেকে 30] হিসাবে উপস্থাপন করা হয়েছে।
এটি সমাধান করার জন্য, আমরা এই পদক্ষেপগুলি অনুসরণ করব—
-
তালিকার সংখ্যাগুলি সাজান
-
সংখ্যার শেষে ইনফিনিটি সন্নিবেশ করুন
-
উত্তর:=একটি নতুন তালিকা
-
l:=সংখ্যা[0]
-
আমি রেঞ্জ 1 থেকে সংখ্যার আকারের জন্য, করুন
-
যদি nums[i] nums[i-1] + 1 এর মত না হয়, তাহলে
-
উত্তরের শেষে [l, nums[i-1]] সন্নিবেশ করুন
-
l:=সংখ্যা[i]
-
-
-
উত্তর ফেরত দিন
আসুন আরও ভাল বোঝার জন্য নিম্নলিখিত বাস্তবায়ন দেখি—
উদাহরণ
শ্রেণীর সমাধান:def solve(self, nums):nums.sort() nums.append(1e9) ans=[] l=nums[0] এর জন্য i range(1,len(nums)):যদি nums [i] !=সংখ্যা[i-1] + 1:ans.append([l, nums[i-1]]) l=nums[i] ফেরত আনব =সমাধান()সংখ্যা =[10, 11, 12, 15, 16, 17, 28, 30]মুদ্রণ(ob.solve(nums))