目录
- 题目
 - 1- 思路
 - 2- 实现
 - ⭐169. 多数元素——题解思路
 
- 3- ACM 实现
 
题目
- 原题连接:169. 多数元素
 
1- 思路
- 定义两个变量 
  
- 一个是 
count:维护当前元素的出现次数 - 一个是 
ret:维护当前元素 
 - 一个是 
 
思路
- 遍历整个数组
 - **①如果 
count = 0**:ret = i,ret 赋值为当前遍历到的元素,且count=1 - ②如果 
ret == i:此时count++ - **③如果 **
ret != i:此时count-- 
2- 实现
⭐169. 多数元素——题解思路

class Solution {
    public int majorityElement(int[] nums) {
        int count = 0;
        int candidate = 0;
        for(int num:nums){
            if(count==0){
                candidate = num;
            }
            count += (num == candidate) ? 1 : -1;
        }
        return candidate;
    }
}
 
3- ACM 实现
public class majorityElement {
    public static int majorE(int[] nums){
        int candidate = 0;
        int count = 0;
        for(int num : nums){
            if(count==0){
                candidate = num;
            }
            count += (candidate==num) ?1:-1;
        }
        return candidate;
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("输入数组长度");
        int n = sc.nextInt();
        int[] nums = new int[n];
        for (int i = 0 ; i < n;i++){
            nums[i] = sc.nextInt();
        }
        System.out.println("结果是"+majorE(nums));
    }
}
                
















