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

জাভাস্ক্রিপ্টে অ্যারেতে সর্বোচ্চ অনন্য (Non-repeating) সংখ্যা বের করা


আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি পূর্ণসংখ্যার অ্যারে প্রথম ও একমাত্র আর্গুমেন্ট হিসেবে গ্রহণ করবে।

ফাংশনটি অ্যারেটে ইটারেট করে সেই সবচেয়ে বড় সংখ্যাটি বের করবে যা শুধু একবার আসেছে। তারপর সেটি রিটার্ন করবে এবং যদি কোনো অনন্য (unique) সংখ্যা না থাকে, তবে -1 রিটার্ন করবে।

আমাদের বলা হয়েছে যে অ্যারের যেকোনো উপাদানের সর্বোচ্চ মান ১০০-কে অতিক্রম করবে না এবং ০ থেকে বড় হবে অর্থাৎ —

0 < arr[i] < 101

সব i এর জন্য যারা অ্যারের ইনডেক্সের মধ্যে আছে।

উদাহরণস্বরূপ —

ইনপুট অ্যারে যদি হয় —

const arr = [35, 37, 33, 39, 34, 39, 38, 31];

তাহলে আউটপুট হবে —

const output = 38;

যেহেতু অ্যারের এন্ট্রিগুলো সবসময় ১০০-এর চেয়ে ছোট বা সমান এবং ০ থেকে বড়, আমরা সহজেই ১০০ দৈর্ঘ্যের একটি অ্যারে ব্যবহার করে প্রতিটি সংখ্যার ফ্রিকোয়েন্সি স্টোর করতে পারি এবং পেছন থেকে ট্রাভার্স (traverse) করে অনন্য উপাদান বের করতে পারি।

উদাহরণ

কোডটি নিচে দেওয়া হলো —

const arr = [35, 37, 33, 39, 34, 39, 38, 31]; 
const pickGreatestUnique = (arr = [], bound = 100) => { 
  const map = Array(bound).fill(0); 
  for(let i = 0; i < arr.length; i++){ 
    const num = arr[i]; 
    map[num - 1]++; 
  } 
  for(let j = bound - 1; j >= 0; j--){ 
    const frequency = map[j]; 
    if(frequency === 1){ 
      return j + 1; 
    } 
  } 
  return -1; 
} 
console.log(pickGreatestUnique(arr));

আউটপুট

কনসোল আউটপুট:

38

  1. জাভাস্ক্রিপ্টে অ্যারেতে তিনটি সর্বোচ্চ সংখ্যার গুণফল বের করা

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

  3. জাভাস্ক্রিপ্টে ইনপুট নম্বরের মধ্যে সর্বোচ্চ ৫ ডিজিটের সংখ্যা খুঁজে বের করা

  4. জাভাস্ক্রিপ্টে অ্যারেতে প্রথম নন-কনsekutিভ নম্বর খুঁজে বের করা