森田賢二のleetCodeの使い方、解説、解答を毎日更新しているキャラクター

274. H-Indexの問題の意味

さて私の芸人活動leetCodeですが

H-indexの意味がわからなかった

Input: citations = [3,0,6,1,5]
Output: 3

なぜ3になるのか、

Explanation: [3,0,6,1,5] means the researcher has 5 papers in total and each of them had received 3, 0, 6, 1, 5 citations respectively.
Since the researcher has 3 papers with at least 3 citations each and the remaining two with no more than 3 citations each, their h-index is 3.

この説明で3はどこからきたのかわからなかった

はい、分かりやすく説明しましょう。
h-indexというのは、研究者の論文の引用数をランク付けするための指標です。研究者の業績を数値化して評価するのに使われています。
それでは、具体例を使って説明していきますね。
たくさんの研究者がいて、それぞれ論文を書いています。引用数は論文の良さを表していて、引用数が多いほど良い論文だと言えます。
ある研究者が書いた論文の引用数は、[3, 0, 6, 1, 5]だったとします。

3は、その研究者の一番引用数の多い論文で、3回引用されたことを意味します。
0は、引用されていない論文があることを意味します。
6は、別の論文が6回引用されたことを意味します。
1と5も、それぞれの論文の引用数を表しています。

さて、この研究者のh-indexを求めるにはどうすればいいでしょうか?
h-indexは、「自分が少なくともh編の論文を書いており、それぞれの論文がh回以上引用されている」という数字の最大値です。
つまり、この例の場合:

h=4の時、4編以上の論文が4回以上引用されているわけではないので、h-indexは4よりは小さい。
h=3の時、3編以上の論文が3回以上引用されているので、h-indexは少なくとも3。
h=2の時も、2編以上の論文が2回以上引用されている。
h=1の時も、1編以上の論文が1回以上引用されている。

ですので、この研究者のh-indexの最大値は3になります。3編以上の論文が3回以上引用されているからです。
このように、h-indexが高いほど、その研究者の業績が優れていると評価できます。
分かりやすくなりましたか?具体例を使って説明しましたが、イメージが付いたでしょうか。

さらに質問

hはなぜ4からの説明になっているのですか?5編書いているので5からではない理由を教えてください

なるほど、確かに5編の論文があるので、h=5から検討する方が自然ですね。
h=5の場合について説明させていただきます。
この研究者は5編の論文を書いています。
[3, 0, 6, 1, 5]という引用数データから、5回以上引用された論文は1編もありません。
そのため、h=5の条件「自分が5編以上の論文を書いており、それぞれが5回以上引用されている」を満たすことはできません。
つまり、h=5についてはこの条件を満たさないので、h-indexはそれより小さい値になります。
そこで次にh=4を検討しました。
4編以上の論文が4回以上引用されているかを見ると、6回引用された1編と、5回引用された1編があるので、この条件は満たされません。
したがって、h-indexは4より小さい値となります。
その次に検討したのがh=3で、今度はこの条件を満たすことができました。
このように、hの値を大きい方から小さい方へ順に検討し、初めて条件を満たした値がh-indexとなるわけです。
ご質問を頂きありがとうございます。確かに5から検討する方が自然でした。この点を踏まえて、より適切な説明ができるよう心がけます。

むちゃくちゃ丁寧なAIでした