কম্পিউটার

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


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

সুতরাং, যদি ইনপুটটি 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. পাইথন প্রোগ্রাম বাক্যের শব্দগুলোকে আরোহী ক্রমে সাজাতে