剑指 Offer 39. 数组中出现次数超过一半的数字(99.95%,80.84%)
话不多说,先上题目
数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。
你可以假设数组是非空的,并且给定的数组总是存在多数元素。
示例 1:
输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]
输出: 2
来源:力扣(LeetCode)
class Solution {
public int majorityElement(int[] nums) {
int r=0, c=0;
for(int num : nums) {
if(c == 0) {
r = num;
}
c += r == num ? 1 : -1;
}
return r;
}
}
作者:超级鲨鱼辣椒
转载请注明原文链接:https://www.cnblogs.com/jinzlblog/p/15141367.html