public class NumOverHalf39 {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 2, 2, 2, 5, 4, 2};
System.out.println(overhaf(arr));
}
private static int overhaf(int[] arr) {
if (arr.length <= 0) {
return -1;
}
int count = 1;
int cur = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i] == cur) {
count++;
} else {
count--;
}
if (count == 0) {
cur = arr[i];
count++;
}
}
count = 0;
for (int i = 0; i < arr.length; i++) {
if (cur == arr[i]) {
count++;
}
}
if (count > arr.length/2)
return cur;
return -1;
}
}
剑指offer39 出现次数超过一半的数 Java
猜你喜欢
转载自blog.csdn.net/weixin_43065507/article/details/99333598
今日推荐
周排行