题解 | #数组中出现次数超过一半的数字#
数组中出现次数超过一半的数字
http://www.nowcoder.com/practice/e8a1b01a2df14cb2b228b30ee6a92163
public int MoreThanHalfNum_Solution(int [] array) {
int cur = -1;
int tp = 0;
for(int i = 0;i < array.length;i ++){
if(tp == 0){
cur = array[i];
tp++;
}else{
if(cur == array[i]){
tp++;
}else{
tp--;
}
}
}
tp = 0;
for(int j = 0;j < array.length;j ++){
if(cur == array[j]){
tp++;
}
}
return tp > array.length/2 ? cur:0;
}
}
