题解 | #数组中出现次数超过一半的数字#
数组中出现次数超过一半的数字
https://www.nowcoder.com/practice/e8a1b01a2df14cb2b228b30ee6a92163
class Solution {
public int MoreThanHalfNum_Solution(int [] array) {
QuickSort(array, array.length - 1);
int Record = 1;
int i = 0;
for (; i < array.length - 1; i++) {
if (array[i] == array[i + 1]) {
Record++;
if (Record > array.length / 2) {
break;
}
} else {
Record = 1;
}
}
return array[i];
}
public int[] QuickSort(int[] e, int a) {
for (int i = 0; i < a; i++) {
if (e[i] > e[a]) {
int Delta = e[i];
e[i] = e[a];
e[a] = Delta;
}
}
if (a == 0) {
return null;
}
return QuickSort(e, a - 1);
}
}
#数组中出现次数超过一半的数字#

查看23道真题和解析