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

জাভাস্ক্রিপ্টে অ্যারের গড় বের করা (মিন এবং ম্যাক্স বাদ দিয়ে)


সমস্যা বিবরণ

নাম্বার অ্যারে দেওয়া আছে। স্মলেস্ট এবং লার্জেস্ট এলিমেন্ট বাদ দিয়ে বাকি গুলোর গড় বের করতে হবে।

সমাধান

const arr = [2, 6, 5, 4, 6, 8, 8, 5, 6, 6, 9, 4, 1, 4, 6, 7];

const specialAverage = (arr = []) => {
  const { length } = arr;
  if (length <= 2) return 0;
  
  const { sum, min, max } = arr.reduce((acc, val) => {
    let { min, max, sum } = acc;
    sum += val;
    if (val > max) max = val;
    if (val < min) min = val;
    return { min, max, sum };
  }, {
    min: Number.MAX_VALUE,
    max: Number.MIN_VALUE,
    sum: 0
  });
  
  return (sum - min - max) / (length - 2);
};

console.log(specialAverage(arr)); // 5.5

আউটপুট

5.5

ব্যাখ্যা

  • reduce দিয়ে একই পাসে sum, min, max বের করা হয়েছে (O(n))।
  • এজ কেস: লেন্থ ≤ ২ হলে ০ রিটার্ন।
  1. জাভাস্ক্রিপ্ট Array reverse() মেথড

  2. জাভাস্ক্রিপ্ট array.keys() মেথড: ব্যবহার এবং উদাহরণ

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

  4. জাভাস্ক্রিপ্টে অ্যারেতে গড় (Average) গণনা