मान लीजिए हमारे पास धनात्मक पूर्णांकों की एक सरणी है जो किसी विशेष शोधकर्ता द्वारा समयावधि में किए गए उद्धरणों की संख्या का प्रतिनिधित्व करती है।
हमें एक JavaScript फ़ंक्शन लिखना है जो ऐसी एक सरणी लेता है और फ़ंक्शन को सरणी द्वारा दर्शाए गए उद्धरण डेटा के आधार पर उस शोधकर्ता का h-इंडेक्स ढूंढना चाहिए।
h-इंडेक्स:
एक शोधकर्ता पर विचार करें जिसने अपने करियर में N संख्या में उद्धरण किए हैं। तब शोधकर्ता का सूचकांक h है यदि उसके N पत्रों में से h के कम से कम 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