厦门网盛网站开发电子商务网站建设移动电商开发
目录
- 题目
 - 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));}
}
