মনে করুন nums একটি ইউনিক সংখ্যার তালিকা। কনটিগুয়াস সংখ্যাগুলো সারসংক্ষেপ করে ইনক্লूसিভ ইন্টারভালের একটি সর্টেড ২ডি ম্যাট্রিক্স ফেরত দিতে হবে।
উদাহরণস্বরূপ, nums = [10, 11, 12, 15, 16, 17, 28, 30] হলে আউটপুট [[10,12],[15,17],[28,28],[30,30]]।
সমাধানের ধাপসমূহ
- nums সর্ট করুন
- nums-এ infinity যোগ করুন
- ans := নতুন তালিকা, l := nums[0]
- i = 1 থেকে nums-এর আকার পর্যন্ত,
- যদি nums[i] != nums[i-1]+1, ans-এ [l, nums[i-1]] যোগ করুন, l = nums[i]
- ans ফেরত দিন
উদাহরণ
class Solution:
def solve(self, nums):
nums.sort()
nums.append(1e9)
ans=[]
l=nums[0]
for i in range(1,len(nums)):
if nums[i] != nums[i-1] + 1:
ans.append([l, nums[i-1]])
l=nums[i]
return ans
ob = Solution()
nums = [10, 11, 12, 15, 16, 17, 28, 30]
print(ob.solve(nums))ইনপুট
[10, 11, 12, 15, 16, 17, 28, 30]
আউটপুট
[[10, 12], [15, 17], [28, 28], [30, 30]]