কম্পিউটার

জাভাস্ক্রিপ্টে দুটি সিকোয়েন্স বাড়ানো হচ্ছে


কঠোরভাবে ক্রমবর্ধমান

একটি ক্রম কঠোরভাবে বাড়ছে৷ যদি এবং শুধুমাত্র যদি arr[0]

সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা সংখ্যার দুটি অ্যারে নেয়, যথাক্রমে প্রথম এবং দ্বিতীয় আর্গুমেন্ট হিসাবে arr1 এবং arr2।

আমরা arr1 থেকে arr2 এ যেকোন সংখ্যক উপাদান অদলবদল করতে পারি, যেগুলো একই সূচকে বাস করে। এর মানে আমরা arr1[i] কে arr2[i] দিয়ে অদলবদল করতে পারি। উভয় ক্রম কঠোরভাবে বৃদ্ধি করতে আমাদের ফাংশনটি সর্বনিম্ন সংখ্যক অদলবদল ফেরত দেবে৷

উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয়

ইনপুট

const arr1 = [1, 3, 5, 4];
const arr2 = [1, 2, 3, 7];

আউটপুট

const output = 1;

আউটপুট ব্যাখ্যা

কারণ যদি আমরা arr2[3] এর সাথে arr1[3] অদলবদল করি, উভয় অ্যারেই কঠোরভাবে বৃদ্ধি পাবে।

উদাহরণ

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

const arr1 = [1, 3, 5, 4];
const arr2 = [1, 2, 3, 7];
const findSwaps = (arr1 = [], arr2 = []) => {
   let map = {
      true: 1,
      false: 0,
   };
   for (let i = 1; i < arr1.length; i++) {
      const current = {
         true: Infinity,
         false: Infinity,
   }
   if (arr1[i] > arr2[i - 1] && arr2[i] > arr1[i - 1]) {
      current.true = Math.min(
      current.true,
      map.false + 1,
   )
   current.false = Math.min(
      current.false,
      map.true)
   }
   if (arr2[i] > arr2[i - 1] && arr1[i] > arr1[i - 1]) {
      current.true = Math.min(
         current.true,
         map.true + 1,
      )
      current.false = Math.min(
         current.false,
         map.false)
      }
      map = current
   }
   return Math.min(
      map.false,
      map.true)
}
console.log(findSwaps(arr1, arr2));

আউটপুট

1

  1. কিভাবে দুটি জাভাস্ক্রিপ্ট অবজেক্ট মার্জ করবেন?

  2. দুটি বস্তুর জাভাস্ক্রিপ্ট ইউনিয়ন

  3. জাভাস্ক্রিপ্টে দুটি অ্যারের উপসেট

  4. জাভাস্ক্রিপ্টে দীর্ঘতম ক্রমবর্ধমান ক্রমগুলির মোট সংখ্যা৷