1. 程式人生 > >LeetCode169:求眾數之摩爾投票法

LeetCode169:求眾數之摩爾投票法

 

這道題目對眾數有了自己的定義,即出現次數大於n/2的元素,而不是出現次數最多的元素。下面這個方法,要求陣列中必須有一個元素出現的次數大於等於n/2(前提條件),不然求出的結果不一定是眾數。

public int majorityElement(int[] nums) {
        int temp=nums[0];
    	int count=1;
        for(int i=1;i<nums.length;i++){
        	if(nums[i]==temp){
        		count++;
        	}else{
        		count--;
        		if(count==0){
        			temp=nums[i];
                    count=1;
        		}
        	}
        }
        return temp;
    }