কম্পিউটার

জাভাস্ক্রিপ্টে একটি উদ্ধৃতির h সূচক গণনা করা হচ্ছে


ধরুন আমাদের কাছে ধনাত্মক পূর্ণসংখ্যার একটি অ্যারে রয়েছে যা নির্দিষ্ট সময়ের মধ্যে বিশেষ গবেষক দ্বারা পরিচালিত উদ্ধৃতির সংখ্যাকে প্রতিনিধিত্ব করে৷

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এইরকম একটি অ্যারে নেয় এবং ফাংশনটি অ্যারের দ্বারা উপস্থাপিত উদ্ধৃতি ডেটার উপর ভিত্তি করে সেই গবেষকের এইচ-ইনডেক্স খুঁজে পাওয়া উচিত৷

H-সূচক:

একজন গবেষকের কথা বিবেচনা করুন যিনি তার কর্মজীবনে N সংখ্যক উদ্ধৃতি দিয়েছেন। তারপরে গবেষকের সূচী h থাকে যদি তার/তার N পেপারগুলির প্রতিটিতে কমপক্ষে h উদ্ধৃতি থাকে এবং অন্য N −h পেপারে h উদ্ধৃতির চেয়ে বেশি না থাকে৷

যেমন −

যদি উদ্ধৃতি অ্যারে −

হয়
const arr = [1, 6, 3, 0, 5];

এই তথ্যটি প্রতিনিধিত্ব করে যে গবেষকের মোট 5টি গবেষণাপত্র রয়েছে এবং তাদের প্রত্যেকটি যথাক্রমে 1, 6, 3, 0, 5টি উদ্ধৃতি পেয়েছে৷

এবং যেহেতু গবেষকের 3টি প্রবন্ধ রয়েছে যার প্রতিটিতে কমপক্ষে 3টি উদ্ধৃতি রয়েছে এবং বাকি দুটিতে 3টির বেশি উদ্ধৃতি নেই, তাই h-সূচকটি 3৷

অতএব, এই অ্যারের জন্য আউটপুট −

হওয়া উচিত
const output = 3;

উদাহরণ

নিম্নলিখিত কোড -

const arr = [1, 6, 3, 0, 5];
const findHIndex = (arr = []) => {
   let possible = [];
   let { length: len } = arr;
   if (len === 0){
      return 0;
   };
   possible.length = len + 2;
   possible = possible.join('-').split('').map(() => 0);
   for (let i = 0; i < len; i ++) {
      let val = arr[i];
      let ind = val > len ? len : val;
      possible[ind] += 1;
   }
   let result = 0;
   for (let k = len; k >= 0; k --) {
      result += possible[k];
      if (result >= k) {
         return k;
      }
   }
};
console.log(findHIndex(arr));

আউটপুট

নিম্নোক্ত কনসোল আউটপুট -

3

  1. জাভাস্ক্রিপ্ট অ্যারে findIndex() ফাংশন

  2. জাভাস্ক্রিপ্টে একটি অ্যারের মধ্যমা গণনা করা হচ্ছে

  3. জাভাস্ক্রিপ্টে একটি অ্যারের গড় গণনা করা

  4. জাভাস্ক্রিপ্টে সঠিক সূচকে পূর্ণসংখ্যা স্থাপন করা