मान लीजिए कि हमारे पास सकारात्मक पूर्णांकों की एक सरणी है जो विशेष शोधकर्ता द्वारा समय के साथ किए गए उद्धरणों की संख्या का प्रतिनिधित्व करती है।
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक ऐसी सरणी लेता है और फ़ंक्शन को उस शोधकर्ता के एच-इंडेक्स को सरणी द्वारा दर्शाए गए उद्धरण डेटा के आधार पर ढूंढना चाहिए।
एच-इंडेक्स:
एक शोधकर्ता पर विचार करें जिसने अपने करियर में एन संख्या में उद्धरणों का प्रदर्शन किया। फिर शोधकर्ता के पास सूचकांक एच होता है यदि उसके एन पेपर में से प्रत्येक में कम से कम एच उद्धरण होते हैं, और अन्य एन - एच पेपर में एच से अधिक उद्धरण नहीं होते हैं।
उदाहरण के लिए -
यदि उद्धरण सरणी है -
const arr = [1, 6, 3, 0, 5];
यह डेटा दर्शाता है कि शोधकर्ता के पास कुल 5 पेपर हैं और उनमें से प्रत्येक को क्रमशः 1, 6, 3, 0, 5 उद्धरण प्राप्त हुए हैं।
और चूंकि शोधकर्ता के पास कम से कम 3 उद्धरणों के साथ 3 पेपर हैं और शेष दो में 3 से अधिक उद्धरण नहीं हैं, इसलिए एच-इंडेक्स 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