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

তিন সংখ্যার মাঝপথি বের করা (কমপক্ষে তুলনা) - JavaScript

তিনটি সংখ্যা থেকে মাঝপথি (median) বের করা ন্যূনতম তুলনায়।

পদ্ধতি: গাণিতিক ট্রিক

তিনটি সংখ্যা a, b, c এর জন্য:

  • x = a - b
  • y = b - c
  • z = a - c

মাঝপথি হবে:

  • b যদি x*y > 0 (a>b>c বা a
  • c যদি x*z > 0
  • অন্যথায় a

সমাধান

const middleOfThree = (a, b, c) => {
  const x = a - b;
  const y = b - c;
  const z = a - c;
  
  // শুধু ২টি গুণ এবং ১টি তুলনা
  if (x * y > 0) return b;
  if (x * z > 0) return c;
  return a;
};

// বিকল্প: সোর্ট করে (পড়া সহজ)
const middleOfThreeSort = (a, b, c) => [a, b, c].sort((x, y) => x - y)[1];

// Math.min/max ব্যবহার
const middleOfThreeMinMax = (a, b, c) => 
  a + b + c - Math.min(a, b, c) - Math.max(a, b, c);

// টেস্ট
console.log(middleOfThree(34, 45, 12));     // 34
console.log(middleOfThree(10, 5, 8));       // 8
console.log(middleOfThree(-5, -10, -3));    // -5
console.log(middleOfThree(7, 7, 7));        // 7

পারফরম্যান্স তুলনা

পদ্ধতি তুলনা অপারেশন
গাণিতিক ট্রিক ২ গুণ, ২ তুলনা সবচেয়ে দ্রুত
Min/Max ২ ফাংশন কল পড়া সহজ
সোর্ট O(1) কিন্তু ওভারহেড সর্বচেয়ে স্লো

উৎপাদন

34
  1. জাভাস্ক্রিপ্ট DOM কী?

  2. জাভাস্ক্রিপ্টে কিউ (Queue) থেকে Peek অপারেশন

  3. জাভাস্ক্রিপ্টে কিউ (Queue-এ) এলিমেন্ট যোগ করা (Enqueue)

  4. পাইথন - মাঝপথের K উপাদান বের করা