在一個數組中找出現次數超過一半的數字

package Suanfa;

/**
 * @author jixiang
 * 在一個數組中找到次數超過一半的數字
 */
public class MoreThanHalfNum {
    public static void main(String[] args) {
        int[] nums={2,3,1,3,4,1,5,1,1,2,1,1,1};
        int Result;
        int times=1;
        Result=nums[0];
        for(int i=1;i<nums.length;i++){
            if(times==0){
                Result=nums[i];
            }
            else {
                if(Result==nums[i]){
                    times++;
                }
                else {
                    times--;
                }
            }
        }
        System.out.println("數組中出現次數超過一半的結果是"+Result);
    }
}

代碼天然先擼爲敬!很簡單,既然有個數出現的次數大於數組長度一半,則確定他出現一次,times就加1,下次看到不是在減1.最後剩下誰就是誰!java

相關文章
相關標籤/搜索