牛客網 劍指offer 數組中有一個數字出現的次數超過數組長度的一半,請找出這個數字

數組中有一個數字出現的次數超過數組長度的一半,請找出這個數字。例如輸入一個長度爲9的數組{1,2,3,2,2,2,5,4,2}。由於數字2在數組中出現了5次,超過數組長度的一半,因此輸出2。如果不存在則輸出0。

上代碼

class Solution {
public:
    int MoreThanHalfNum_Solution(vector<int> numbers) {
        int len = numbers.size();
        int a=0;
        for(int i=0;i<len;i++)
        {    
            int k=0;
            for(int j=0;j<len;j++)
            {
                if(numbers[i] == numbers[j]) k++;
                    if(k>len/2) 
                    {
                        return numbers[i];
                    }
            }
        }
        return a;
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章