天天看點

leetcode169-求衆數

文章目錄

  • ​​求衆數​​
  • ​​題目描述​​
  • ​​code​​
  • ​​解題思路​​

求衆數

題目描述

給定一個大小為 n 的數組,找到其中的衆數。衆數是指在數組中出現次數大于 ⌊ n/2 ⌋ 的元素。

你可以假設數組是非空的,并且給定的數組總是存在衆數。

示例 1:

輸入: [3,2,3]
輸出: 3      
輸入: [2,2,1,1,1,2,2]
輸出: 2      

code

解題思路

class Solution {
    public int majorityElement(int[] nums) {
            int max = nums[0];
            int count =0;
            for (int i = 0; i < nums.length; i++) {
                if(max == nums[i]){
                    count++;
                }else{
                    count--;
                    if (count == 0) {
                        //替換
                        max = nums[i];
                        count=1;
                    }
                }

            }
            return max;
        }
}