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

ব্যবধান একত্রিত করার প্রোগ্রাম এবং পাইথনে ক্রমবর্ধমান ক্রমানুসারে সাজানোর জন্য


ধরুন আমাদের একটি তালিকার ব্যবধান আছে, আমাদেরকে সাজানো ক্রমানুসারে তাদের মিলন খুঁজে বের করতে হবে।

সুতরাং, যদি ইনপুটটি inv =[[2, 5],[4, 10],[20, 25]] এর মত হয়, তাহলে আউটপুট হবে [[2, 10], [20, 25]]

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

  • তালিকা ব্যবধান বাছাই করুন
  • উত্তর :=একটি নতুন তালিকা
  • প্রতিটি শুরু এবং শেষের জন্য (s, e) বিরতিতে, করুন
    • যদি ans এবং s <=ans এর শেষ ব্যবধানের শেষ সময়, তাহলে
      • উত্তরগুলির শেষ ব্যবধানের শেষ সময় :=সর্বোচ্চ ই এবং উত্তরের শেষ ব্যবধানের শেষ সময়
    • অন্যথায়,
      • উত্তরগুলিতে ব্যবধান [s, e] সন্নিবেশ করুন
  • উত্তর ফেরত দিন

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

উদাহরণ

শ্রেণির সমাধান:def solve(self, intervals):intervals.sort() ans =[] এর জন্য s, e in intervals:if ans এবং s <=ans[-1][1]:ans[-1] [1] =max(ans[-1][1], e) else:ans.append([s, e]) return ansob =Solution()inv =[[2, 5],[4, 10], [20, 25]]প্রিন্ট(ob.solve(inv))

ইনপুট

<প্রে>[[2, 5],[4, 10],[20, 25]]

আউটপুট

[[2, 10], [20, 25]]

  1. মার্জ সাজানোর জন্য পাইথন প্রোগ্রাম

  2. পুনরাবৃত্তিমূলক মার্জ সাজানোর জন্য পাইথন প্রোগ্রাম

  3. পাইথন প্রোগ্রামে নির্বাচন সাজান

  4. পাইথন প্রোগ্রাম বাক্যের শব্দগুলোকে আরোহী ক্রমে সাজাতে