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

জাভাস্ক্রিপ্টে ২-ডি অ্যারের প্রতিটি সারির ন্যূনতম মানের যোগফল

সমস্যা

একটি ২-ডাইমেনশনাল সংখ্যা অ্যারে দেওয়া আছে। প্রতিটি সারি (row) থেকে সবচেয়ে ছোট সংখ্যাটি বের করে, সব সারির ন্যূনতম মানের যোগফল রিটার্ন করতে হবে।

উদাহরণ কোড


const arr = [
  [2, 5, 1, 6],
  [6, 8, 5, 8],
  [3, 6, 7, 5],
  [9, 11, 13, 12]
];

const sumSmallest = (arr = []) => {
  const findSmallest = array => array.reduce((acc, val) => Math.min(acc, val), Infinity);
  
  let sum = 0;
  arr.forEach(sub => {
    sum += findSmallest(sub);
  });
  return sum;
};

console.log(sumSmallest(arr));

আউটপুট

18

ব্যাখ্যা

  • সারি ১: [2, 5, 1, 6] → ন্যূনতম = ১
  • সারি ২: [6, 8, 5, 8] → ন্যূনতম = ৫
  • সারি ৩: [3, 6, 7, 5] → ন্যূনতম = ৩
  • সারি ৪: [9, 11, 13, 12] → ন্যূনতম = ৯
  • যোগফল: ১ + ৫ + ৩ + ৯ = ১৮

আধুনিক সংক্ষিপ্ত সংস্করণ (ES6+)


const sumSmallestModern = arr => 
  arr.reduce((sum, row) => sum + Math.min(...row), 0);

console.log(sumSmallestModern(arr)); // 18

ব্যাখ্যা

  • Math.min(...row) - স্প্রেড অপারেটর দিয়ে সারির সব উপাদান আর্গুমেন্ট হিসেবে পাস করা হয়।
  • reduce দিয়ে সব সারির ন্যূনতম যোগ করা হয়।
  • খালি সারি হ্যান্ডল করতে: Math.min(...row, Infinity) বা row.length ? Math.min(...row) : 0

টাইপস্ক্রিপ্ট সংস্করণ


function sumSmallest(arr: number[][]): number {
  return arr.reduce((sum, row) => {
    if (row.length === 0) return sum;
    return sum + Math.min(...row);
  }, 0);
}
  1. জাভাস্ক্রিপ্টে অ্যারেতে একমাত্র ইউনিক স্ট্রিং খুঁজে বের করা

  2. জাভাস্ক্রিপ্টে ২-ডি স্ট্রিং অ্যারে সর্ট করে ডায়াগোনাল উপাদান বের করা

  3. জাভাস্ক্রিপ্টে অ্যারেতে ন্যূনতম সময় পার্থক্য খুঁজে বের করা

  4. জাভাস্ক্রিপ্টে অ্যারে থেকে সবচেয়ে ज्यादा ফ্রিকোয়েন্সি वाले শব্দগুলো খুঁজে বের করা