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

জাভাস্ক্রিপ্টে স্ট্রিক্টলি ইনক্রিজিং অ্যারে থেকে nth মিসিং নম্বর বের করা


সমস্যা বিবরণ

স্ট্রিক্টলি ইনক্রিজিং অ্যারে (কিছু নম্বর মিসিং) দেওয়া আছে। nth মিসিং নম্বর বের করতে হবে।

ইনপুট: [2, 3, 4, 7, 11], n = 4

মিসিং নম্বর: 1, 5, 6, 8, 9, 10... → 4th মিসিং = 8

সমাধান

const arr = [2, 3, 4, 7, 11];

const findMissing = (arr = [], n) => {
  let el = 0;
  let diff = 0;
  for (let i = 0; i < arr.length; ++i) {
    const difference = arr[i] - el - 1;
    const sum = diff + difference;
    if (sum >= n) break;
    diff = sum;
    el = arr[i];
  }
  return el + n - diff;
};

console.log(findMissing(arr, 4)); // 8

আউটপুট

8

ব্যাখ্যা

  • el = প্রসেস করা লাস্ট এলিমেন্ট।
  • difference = বর্তমান এলিমেন্ট এবং প্রিভাস এলিমেন্টের মাঝপথে মিসিং নম্বর কাউন্ট।
  • sum = মোট মিসিং কাউন্ট আপডেট।
  • যখন sum >= n, লুপ ব্রেক করে el + n - diff দিয়ে nth মিসিং বের করা হয়।
  1. জাভাস্ক্রিপ্টে nth জোড় সংখ্যা বের করা

  2. জাভাস্ক্রিপ্টে অ্যারেতে প্রথম নন-কনsekutিভ নম্বর খুঁজে বের করা

  3. জাভাস্ক্রিপ্টে সর্টেড অ্যারে থেকে আউট-অফ-অর্ডার এলিমেন্ট খুঁজে বের করা

  4. জাভাস্ক্রিপ্টে nth ইনডেক্সে থাকা অ্যারে উপাদানের nth ঘাত বের করা