https://leetcode-cn.com/problems/majority-element/description/
(学到了带标签的continue和break)
class Solution {
public int majorityElement(int[] nums) {
int[] num = new int[nums.length];
int n;
int count = 0;
f1:for(int i=0;i<nums.length/2+1;i++)//标签
{
n=0;
for(int m=0;m<count;m++) {if(nums[i]==num[m]) continue f1;}//标签
num[i] = nums[i];
for (int j=i;j<nums.length;j++)
{
if (nums[i]==nums[j]) n++;
if(n>nums.length/2) return nums[i];
}
count++;
}
return 0;
}
}
网站优解(想不到)
class Solution {
public static int majorityElement(int[] nums) {
int flag = 1,target = nums[0];
for(int i =1;i<nums.length;i++) {
if (target == nums[i]) {
flag++;
} else {
flag--;
}
if(flag ==0) {
target = nums[i+1];
}
}
return target;
}
}