কম্পিউটার

C++ ব্যবহার করে ওভারল্যাপিং ইন্টারভাল মার্জ করুন।


সমস্যা বিবৃতি

যেকোনো ক্রমে সময়ের ব্যবধানের একটি সেট দেওয়া, সমস্ত ওভারল্যাপিং ব্যবধানগুলিকে একত্রিত করুন এবং ফলাফলটি আউটপুট করুন যার শুধুমাত্র পারস্পরিক একচেটিয়া ব্যবধান থাকা উচিত

প্রদত্ত ব্যবধানের সেট হল {{12, 14}, {11, 13}, {20, 22}, {21, 23}} তারপর

  • ব্যবধান {12, 14} এবং {11, 13} একে অপরের সাথে ওভারল্যাপ করে তাই এগুলিকে {11, 14} হিসাবে একত্রিত করুন

  • ব্যবধান {20, 22} এবং {21, 23} একে অপরের সাথে ওভারল্যাপ করে তাই এগুলিকে {20, 23

    হিসাবে একত্রিত করুন

অ্যালগরিদম

<পূর্ব>1. শুরুর সময় 2 এর ক্রমবর্ধমান ক্রম অনুসারে ব্যবধানগুলি সাজান। একটি স্ট্যাক3 এ প্রথম ব্যবধানটি পুশ করুন। প্রতিটি ব্যবধানের জন্য নীচের পদক্ষেপগুলি সম্পাদন করুন:3.1. যদি বর্তমান ব্যবধানটি স্ট্যাকের শীর্ষের সাথে ওভারল্যাপ না করে তবে এটিকে ধাক্কা দিন। 3.2। যদি বর্তমান ব্যবধান স্ট্যাকের শীর্ষের সাথে ওভারল্যাপ হয় এবং বর্তমান ব্যবধানের শেষ সময় স্ট্যাকের শীর্ষের চেয়ে বেশি হয়, তবে বর্তমান ব্যবধানের শেষ সময়ের সাথে স্ট্যাক শীর্ষ আপডেট করুন। অবশেষে, স্ট্যাকে একত্রিত ব্যবধান রয়েছে।

উদাহরণ

#include #include #include #define SIZE(arr) (sizeof(arr) / sizeof(arr[0])) namespace ব্যবহার করে std;struct interval{int start; int end;};bool compareInterval(interval i1, interval i2){ return (i1.start s; sort(arr, arr + n, compareInterval); s.push(arr[0]); জন্য (int i =1; i  

আউটপুট

আপনি যখন উপরের প্রোগ্রামটি কম্পাইল এবং এক্সিকিউট করবেন। এটি নিম্নলিখিত আউটপুট −

তৈরি করে
একত্রিত ব্যবধান:{20, 23} {11, 14}

  1. C++ ব্যবহার করে দুটি সাজানো লিঙ্কযুক্ত তালিকা একত্রিত করুন।

  2. ফাংশন ব্যবহার করে দুটি ব্যবধানের মধ্যে প্রাইম নম্বর প্রদর্শনের জন্য C++ প্রোগ্রাম

  3. লিনাক্সে c++ এর জন্য শীর্ষ IDE কি?

  4. উইন্ডোতে c++ এর জন্য শীর্ষ IDE কি?