Java:
package blueBridge;
import java.util.*;
import java.math.BigInteger;
import java.util.*;
public class testOne {
/*
* 题目
* 数组中有一个数字出现的次数超过了数组长度的一半,找出这个数字
* */
static int getNum(int[] arr) {
int condidate=arr[0];
int nTimes=1;
for(int i=1;i<arr.length;i++) {
if(nTimes==0) {
condidate=arr[i];
nTimes=1;
continue;
}
if(arr[i]==condidate) {
nTimes++;
}else {
nTimes--;
}
}
return condidate;
}
public static void main(String[] args) {
int[] arr= {1,2,3,8,8,4,5,8,8,8,7,8};
int res=getNum(arr);
System.out.println(res);
}
}