কম্পিউটার

পাইথনে ইন্টারসেক্টিং ইন্টারভাল খুঁজুন


ধরুন আমাদের কাছে ব্যবধানের একটি তালিকা আছে, যেখানে প্রতিটি ব্যবধান হল [শুরু, শেষ] এর মত এটি একটি ব্যবধানের সূচনা এবং শেষ সময়ের প্রতিনিধিত্ব করে (অন্তর্ভুক্ত), আমাদের তাদের ছেদ খুঁজে বের করতে হবে, অর্থাত্ প্রদত্ত সমস্ত ব্যবধানের মধ্যে থাকা অন্তর।

সুতরাং, যদি ইনপুটটি [[10, 110],[20, 60],[25, 75]] এর মত হয়, তাহলে আউটপুট হবে [25, 60]

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • শুরু, শেষ :=ব্যবধান তালিকা থেকে শেষ উপাদান মুছে ফেলার পরে ব্যবধান
  • যখন ব্যবধান খালি না থাকে, তখন কর
    • start_temp, end_temp :=ব্যবধান তালিকা থেকে শেষ উপাদান মুছে ফেলার পর বিরতি
    • start :=সর্বাধিক শুরু, start_temp
    • শেষ :=সর্বনিম্ন শেষ, end_temp
  • একটি ব্যবধান ফিরিয়ে দিন [শুরু, শেষ]

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ

শ্রেণির সমাধান:def solve(self, intervals):start, end =intervals.pop() while intervals:start_temp, end_temp =intervals.pop() start =max(start, start_temp) end =min(end, end_temp) ) প্রত্যাবর্তন [start, end]ob =Solution()intervals =[[10, 110],[20, 60],[25, 75]]print(ob.solve(intervals))

ইনপুট

<প্রে>[[10, 110],[20, 60],[25, 75]]

আউটপুট

[25, 60]

  1. পাইথন খুঁজুন:একটি গাইড

  2. পাইথনে বহুভুজের এলাকা খুঁজে বের করার জন্য প্রোগ্রাম

  3. পাইথনে বহুভুজের পরিধি খুঁজে বের করার প্রোগ্রাম

  4. পাইথনের একটি তালিকার গড় খুঁজুন?