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

জাভাস্ক্রিপ্টে সর্ট করা ২ডি অ্যারে-এ nth সবচেয়ে ছোট এলিমেন্ট খুঁজে বের করা


সমস্যা

ধরা যাক, আমাদের একটি সর্ট করা ২ডি অ্যারে আছে (ক্রমবর্ধমান ক্রমে) –

const arr = [ [ 1, 5, 9], [10, 11, 13], [12, 13, 15] ];

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম আর্গুমেন্ট হিসেবে এ ধরণের অ্যারে এবং دوم আর্গুমেন্ট হিসেবে একটি ইন্টিজার (num) নেবে। ফাংশনটি অ্যারে-এ num-তম সবচেয়ে ছোট এলিমেন্টটি রিটার্ন করবে।

উদাহরণস্বরূপ, ইনপুট যদি হয় –

const arr = [ [ 1, 5, 9], [10, 11, 13], [12, 13, 15] ]; const num = 5;

আউটপুট

তবে আউটপুট হবে –

const output = 11;

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

১১ হল ম্যাট্রিক্স-এ ৫ম সবচেয়ে ছোট এলিমেন্ট।

উদাহরণ

কোডটি নিচের মতো –

const arr = [ [ 1, 5, 9], [10, 11, 13], [12, 13, 15] ]; const num = 5; const kthSmallest = (arr = [], num = 1) => { let low = arr[0][0] let high = arr[arr.length-1][arr[0].length-1] + 1; while (low < high) { let mid = low + Math.floor((high-low)/2); let count = 0; for (let i = 0;i

কোড ব্যাখ্যা:

এখানে বাইনারি সার্চের ধারণা ব্যবহার করা হয়েছে। ২ডি সর্ট করা অ্যারে-এ মিড ইন্ডেক্স খুঁজে বের করা কঠিন, তাই সংখ্যার রেঞ্জ ব্যবহার করে low এবং high নির্ধারণ করা হয়েছে। mid-এ কতগুলো সংখ্যা ছোট তা গণনা করে low-high অ্যাডজাস্ট করা হয়েছে।

আউটপুট

কনসোলে আউটপুট হবে –

11
  1. জাভাস্ক্রিপ্টে অ্যারে থেকে উপাদান সরানো

  2. জাভাস্ক্রিপ্টে অ্যারেতে উপাদান যোগ করা

  3. জাভাস্ক্রিপ্ট অ্যারেতে প্রথম ও শেষ এলিমেন্ট বের করা

  4. জাভাস্ক্রিপ্ট কোড অ্যারের শেষ এলিমেন্ট প্রিন্ট করার জন্য