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

জাভাস্ক্রিপ্টে দুটি অ্যারে থেকে সবচেয়ে ছোট সমষ্টি वाले জোড়া খুঁজে বের করা


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম ও دوم আর্গুমেন্ট হিসেবে দুটি সর্ট করা ইন্টিজার অ্যারে (arr1, arr2) এবং তৃতীয় আর্গুমেন্ট হিসেবে একটি সংখ্যা (num) নেবে, যেখানে num দুটি অ্যারে-এর দৈর্ঘ্য থেকে ছোট।

ফাংশনটি num সংখ্যক জোড়া বেছে নেবে, যেখানে প্রতিটি জোড়ার প্রথম এলিমেন্ট arr1 থেকে এবং دوم এলিমেন্ট arr2 থেকে আসবে। জোড়াগুলো এমনভাবে বেছে নিতে হবে যাতে তাদের সমষ্টি সর্বনিম্ন হয়। অবশেষে ফাংশনটি এই সব জোড়ার অ্যারে রিটার্ন করবে।

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

const arr1 = [1, 1, 2]; const arr2 = [1, 2, 3]; const num = 2;

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

const output = [ [1, 1], [1, 1] ]

উদাহরণ

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

const arr1 = [1, 1, 2]; const arr2 = [1, 2, 3]; const num = 2; const smallestPairs = (arr1 = [], arr2 = [], num = 1) => { const temp = Array(arr1.length).fill(0); const res = []; let compute = () => { let flag = Infinity; for (let i = 0; i < arr1.length; i++) { if (temp[i] < arr2.length && flag > (arr1[i] + arr2[temp[i]])) { flag = arr1[i] + arr2[temp[i]]; } } if (flag === Infinity || res.length >= num) { return; } else { for (let i = 0; i < arr1.length; i++) { if (temp[i] < arr2.length && flag == (arr1[i] + arr2[temp[i]])) { res.push(Array.of(arr1[i], arr2[temp[i]])); temp[i]++; } } compute(); } } compute(); return res.slice(0, num); }; console.log(smallestPairs(arr1, arr2, num));

আউটপুট

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

[ [ 1, 1 ], [ 1, 1 ] ]
  1. জাভাস্ক্রিপ্টে ট্রায়্যাঙ্গুলার নম্বর (Triangular Number) যাচাই করা

  2. জাভাস্ক্রিপ্টে একই অঙ্ক দিয়ে ইনপুট সংখ্যার চেয়ে বড় সবচেয়ে ছোট সংখ্যা বের করা

  3. জাভাস্ক্রিপ্টে একটি সংখ্যা যেটি ইনপুট দিয়ে গুণ করলে ইনপুট নম্বরটি পাওয়া যায়

  4. জাভাস্ক্রিপ্টে ১ থেকে n পর্যন্ত সব সংখ্যা দিয়ে বিভাজ্য সবচেয়ে ছোট সংখ্যা