letecode [169] - マジョリティ要素

 サイズの配列を指定して  n個、大多数の要素を見つけます。大多数の要素がより見える要素である  ⌊ n/2 ⌋ 回。

あなたは、配列が空であると仮定してもよいし、多数の要素は常に配列に存在します。

例1:

入力:[3,2,3] 
出力:3

例2:

入力:[2,2,1,1,1,2,2] 
出力:2

効果の対象

   モードの配列を探します。

理解:

   神は、大きな解決策を見てください。

  valは、同じ数のカウント++遭遇、要素の最大数をマークカウントが0に等しい場合、count--異なる番号が発生し、valは新しい要素されている更新プログラム。

コードC ++:

クラス解決{
 パブリックINT majorityElement(ベクトル< INT >&NUMS){
         int型のval = NUMS [ 0 ]。
        int型のカウント= 1 ;
        int型私は、
        (i = 1 ; iは(nums.sizeを<); ++ I){
             場合(==カウント0 
                ヴァル = NUMS [I]。
            もし(NUMS [i]を== val)で
                カウント ++ ;
            他の - ;
        } 
        戻りヴァルと、
    } 
}。

結果:

   ときに実行:28ミリ秒は、Cに提出するすべてのユーザーの81.41パーセントを打つ++

   メモリ消費量:11メガバイトは、Cに提出するすべてのユーザーの87.66パーセントを破っ++

おすすめ

転載: www.cnblogs.com/lpomeloz/p/11004189.html