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

জাভাস্ক্রিপ্টে একটি সাজানো ব্যবধানে একটি নতুন ব্যবধান ঢোকানো


এই প্রশ্নের উদ্দেশ্যে, আমরা একটি ব্যবধানকে দুটি সংখ্যার অ্যারে হিসাবে সংজ্ঞায়িত করি যেখানে প্রথম সংখ্যাটি সর্বদা দ্বিতীয় সংখ্যার চেয়ে ছোট হয়৷

যেমন −

[4, 6], [2, 3], [6, 8], [2, 7], [1, 8] are all examples of valid intervals.

ধরুন, আমাদের কাছে ব্যবধানের একটি অ্যারে রয়েছে যা তাদের শুরুর সময় অনুসারে সাজানো হয়েছে (প্রতিটি ব্যবধানের প্রথম উপাদান)।

অ্যারের মধ্যে ব্যবধানগুলি অ-ওভারল্যাপিং যার মানে হল যে কোনও দুটি নির্বিচারে সন্নিহিত অন্তরের জন্য,

[m, n], [x, y]
m < n < x < y

অতএব, ব্যবধানের এই বিন্যাসের অনুরূপ একটি উদাহরণ −

হতে পারে
const arr = [[ 2, 4], [5, 7], [9, 10], [13, 17]];

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম আর্গুমেন্টের মতো একটি অ্যারে এবং দ্বিতীয় আর্গুমেন্ট হিসাবে একটি একক ব্যবধান গ্রহণ করে৷

তারপরে ফাংশনটি অ্যারের সঠিক অবস্থানে ব্যবধানটি সন্নিবেশ করা উচিত, অ্যারের অওভারল্যাপিং বৈশিষ্ট্য বজায় রাখা উচিত।

প্রয়োজনে আমরা অ্যারের মধ্যে দুই বা ততোধিক ব্যবধান একত্রিত করতে পারি যাতে অ্যারের ব্যবধানগুলি অ-ওভারল্যাপিং থাকে৷

উদাহরণ স্বরূপ, যদি উপরোক্ত ব্যবধানের বিন্যাসের জন্য, আমাদের যে ব্যবধানটি সন্নিবেশ করতে হবে তা হল [6, 13] তাহলে আউটপুটটি দেখতে হবে −

const output = [[2, 4], [5, 17]];

উদাহরণ

নিম্নলিখিত কোড -

const arr = [[2, 4], [5, 7], [9, 10], [13, 17]];
const interval = [6, 13];
const insertWithin = (arr = [], interval = []) => {
   const res = [];
   let ind = 0;
   while (arr[ind] && arr[ind][1] < interval[0]) {
      res.push(arr[ind]);
      ++ind;
   };
   let start = interval[0];
   let end = interval[1];
   while (arr[ind] && arr[ind][0] <= interval[1]) {
      start = Math.min(start, arr[ind][0]);
      end = Math.max(end, arr[ind][1]);
      ++ind;
   }
   res.push([start, end]);
   while (arr[ind]) {
      res.push(arr[ind]);
      ++ind;
   }
   return res;
};
console.log(insertWithin(arr, interval));

আউটপুট

নিম্নোক্ত কনসোল আউটপুট -

[[2, 4], [5, 17]]

  1. JavaScript array.values()

  2. জাভাস্ক্রিপ্টে array.flatMap()

  3. নতুন কীওয়ার্ড দিয়ে একটি জাভাস্ক্রিপ্ট অ্যারে তৈরি করা হচ্ছে।

  4. নতুন অ্যারেতে জাভাস্ক্রিপ্ট অবজেক্ট ফরম্যাটিং