কম্পিউটার টিউটোরিয়াল

পাইথনে ইউনিক অ্যারেতে কনটিগুয়াস ইন্টারভাল খুঁজে বের করার প্রোগ্রাম


মনে করুন 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]]
  1. পাইথন প্রোগ্রামে অ্যারের যোগফল বের করা

  2. পাইথন প্রোগ্রাম অ্যারেতে সবচেয়ে বড় এলিমেন্ট বের করা

  3. পাইথনে অ্যারের যোগফল বের করা

  4. পাইথনে অ্যারে থেকে সর্বোচ্চ এলিমেন্ট বের করা