主要元素

憤怒的阿木木發表於2020-11-16

陣列中佔比超過一半的元素稱之為主要元素。給定一個整數陣列,找到它的主要元素。若沒有,返回-1。

示例 1:

輸入:[1,2,5,9,5,9,5,5,5]
輸出:5

示例 2:

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

示例 3:

輸入:[2,2,1,1,1,2,2]
輸出:2
class Solution {
   public static int majorityElement(int[] nums) {
       int taotal = 1;
        int people= nums[0];
        for(int i = 1;i<nums.length;i++){
            if(people!=nums[i]){
                taotal--;
            }else{
                taotal++;
            }
            if(taotal<0){
                people = nums[i];
                taotal = 1; 
            }
        }
        return taotal>0?people:-1;
    }
		     
     }

相關文章