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

জাভাস্ক্রিপ্টে সর্টেড 2-D অ্যারেতে সার্চ করা


আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম আর্গুমেন্ট হিসেবে নম্বরের অ্যারে অফ অ্যারে এবং دوم আর্গুমেন্ট হিসেবে একটি নম্বর নেবে। সাবঅ্যারেগুলোতে নম্বরগুলো ক্রমবর্ধমান ক্রমে সর্টেড থাকে এবং কোনো পূর্ববর্তী সাবঅ্যারেতে কোনো এলিমেন্ট পরবর্তী সাবঅ্যারেতে কোনো এলিমেন্টের চেয়ে বড় নয়।

ফাংশনটি বাইনারি সার্চ অ্যালগরিদম ব্যবহার করে সর্টেড অ্যারে অফ অ্যারেতে دوم আর্গুমেন্ট হিসেবে দেওয়া এলিমেন্টটি খুঁজে বের করবে।

যদি এলিমেন্টটি থাকে তবে ফাংশনটি true রিটার্ন করবে, অন্যথায় false।

উদাহরণস্বরূপ:

যদি ইনপুট অ্যারে হয়:

const arr = [    [2, 6, 9, 11],    [13, 16, 18, 19, 21],    [24, 26, 28, 31] ]; const num = 21;

তাহলে আউটপুট হবে:

const output = true;

উদাহরণ

নিচে কোডটি দেওয়া হলো:

const arr = [    [2, 6, 9, 11],    [13, 16, 18, 19, 21],    [24, 26, 28, 31] ]; const num = 21; const search2D = (array = [], target) => {    const h = array.length;    const w = h > 0 ? array[0].length : 0;    if (h === 0 || w === 0) { return false; }    const arr = getArr();    if (!arr) { return false; }       return binarySearch(arr, target) !== null;    function getArr() {       for (let i = 0; i < h; i++) {          let arr = array[i];          if (arr[0] <= target && target <= arr[arr.length - 1]) {             return arr;          }       }       return null;    }    function binarySearch(arr, t) {       let left = 0;       let right = arr.length - 1;       while (left <= right) {          if (arr[left] === t) {             return left;          }          if (arr[right] === t) {             return right;          }          let mid = Math.floor((left + right) / 2);          if (arr[mid] === t) {             return mid;          }          if (arr[mid] < t) {             left = mid + 1;          }          else if (arr[mid] > t) {             right = mid - 1;          }       }       return null;    } }; console.log(search2D(arr, num))

আউটপুট

কনসোল আউটপুট:

true

  1. জাভাস্ক্রিপ্ট Array slice() মেথড

  2. জাভাস্ক্রিপ্ট Array shift() মেথড

  3. জাভাস্ক্রিপ্ট Array reverse() মেথড

  4. জাভাস্ক্রিপ্টে অ্যারে ডিস্ট্রাকচারিং