主題-275 Leetcode二分。HインデックスII(H-インデックスII)

主題-275 Leetcode二分。HインデックスII(H-インデックスII)


 

アレイ研究の引用番号(引用の非負整数)を考えれば、昇順に配列を有しています。h指数の研究者を計算する方法を記述します。

h指数の定義:研究者のh指数は、彼(彼女)は、ほとんどの時間の論文で(中Nの論文)が、少なくともH回引用されたことです、ハイ引用「(ハイ引用)「時間の略」 (残りのN - H紙各引用は、H回以上を数える。)
 

例:

入力:引用読み込み = [0,1,3,5,6 ] 
出力: 3  
説明:研究者は配列が表す所定の合計 5つの論文は、各用紙は0、1、3、5、6、対応する引用された回。
     研究者が持っているので、それぞれの紙の3つが少なくとも3回を引用し、残りの2つの論文は、それぞれの3倍以上であるので、彼女はh指数が3であるのです引用しました
 

注意:

あなたが時間どのように可能な値のようなものならば、h指数は最大のものです。

分析:

H指数を求めて、私たちが見つかりました。対象を観察しました。

それが3である場合、それは3つの記事より引用または3に等しくなければなりません。

その後、我々はバイナリのルールを書くことができます。

例えば引用= [0,1,3,5,6]

引用が1である場合には、参照番号の少なくとも一方が1であり、実際には少なくとも4つがあり、その後、我々は正しいものを見つけるために継続する必要があります。

 

次の規則が適用されます。

もし(引用文献[中間] <(len- MID)){ 
  L =ミッド+ 1 
} { 
  R = ミッド。
}

 

ACコード:

クラスソリューション{
     公共 のint h指数(INT []引用){
         int型のlen = citations.length。
        int型の L = 0 ;
        INTの R = LEN。
        一方、(L < R){
             int型 1 >>>ミッド=(L + R) 
            
            もし(引用文献[中間] <(len- MID)){ 
                L =ミッド+ 1 
            } { 
                R = ミッド。
            } 
            
        } 
        戻り len- L。
    }
}

 

おすすめ

転載: www.cnblogs.com/qinyuguan/p/11415887.html