20.4.10ほとんどの要素は単純です

タイトル

サイズnの配列を指定して、ほとんどの要素を見つけます。ほとんどの要素は、配列内で⌊n / 2⌋以上発生する要素を指します。
配列は空ではないと想定でき、指定された配列には常に大多数の要素が存在します。

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

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

問題解決のアイデアとコードのアイデア

  1. マップに保存すると、キーに対応する値はキーの番号になります。
  2. 問題のアカウント配列は空ではなく、要素の過半数が存在する必要があるため、キーの数> n / 2の場合、キーは要素の過半数です。

コード

class Solution {
public:
    int majorityElement(vector<int>& nums) {
        map<int, int> record;
        int result;
        for(int i = 0; i < nums.size(); i++){
            record[nums[i]]++;
            if(record[nums[i]] > (nums.size() / 2)){
                result = nums[i];
                break;
            }
        }
        return result;
    }
};

おすすめ

転載: www.cnblogs.com/wasi-991017/p/12676097.html