কম্পিউটার

জাভাস্ক্রিপ্ট ব্যবহার করে বাইনারি অনুসন্ধানের সাথে একটি অ্যারে অনুসন্ধান করুন


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা সংখ্যার একটি সাজানো অ্যারে (ক্রমবর্ধমান ক্রম), arr, প্রথম আর্গুমেন্ট হিসাবে এবং দ্বিতীয় আর্গুমেন্ট হিসাবে একটি লক্ষ্য সংখ্যা। আমাদের ফাংশন অ্যারে অ্যারে বাইনারি অনুসন্ধান অ্যালগরিদম ব্যবহার করে লক্ষ্য অনুসন্ধান করা উচিত যেহেতু অ্যারেটি সাজানো হয়েছে৷

যদি লক্ষ্য বিদ্যমান থাকে, তাহলে আমাদের তার সূচকটি ফেরত দেওয়া উচিত, অন্যথায় আমাদের -1 ফেরত দেওয়া উচিত।

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

ইনপুট

const arr = [3, 5, 7, 9, 11, 13, 15, 16, 18, 21, 24, 25, 28];
const target = 13;

আউটপুট

const output = 5;

উদাহরণ

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

const arr = [3, 5, 7, 9, 11, 13, 15, 16, 18, 21, 24, 25, 28];
const target = 13;
const binarySearch = (arr = [], target) => {
   const helper = (low, high) => {
      if (low > high) {
         return -1
      }
      const middle = Math.floor((low + high) / 2)
      if (arr[middle] === target) {
         return middle
      } if (arr[middle] < target) {
         return helper(middle + 1, high)
      }
      return helper(low, middle - 1)
   }
   return helper(0, arr.length - 1)
};
console.log(binarySearch(arr, target));

আউটপুট

5

  1. জাভাস্ক্রিপ্টে বাইনারি সার্চ ট্রি

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

  3. জাভাস্ক্রিপ্ট অবজেক্টের অ্যারের অ্যারের পদ্ধতি ব্যবহার করছেন?

  4. একটি শর্ত সহ একটি জাভাস্ক্রিপ্ট অ্যারে যোগদান?