仓库管理员以数组 stock
形式记录商品库存表。stock[i]
表示商品 id
,可能存在重复。请返回库存表中数量大于 stock.length / 2
的商品 id
。
示例 1:
输入: stock = [6, 1, 3, 1, 1, 1] 输出: 1
限制:
1 <= stock.length <= 50000
- 给定数组为非空数组,且存在结果数字
题解:
class Solution {
public int majorityElement(int[] nums) {
int num=nums[0];
int c=1;
for(int i=1;i<nums.length;i++){
if(nums[i]==num) c++;
else c--;
if(c==0){
num=nums[i];
c=1;
}
}
c=0;
for(int val:nums){
if(val==num)
c++;
}
return c>nums.length/2?num:0;
}
}