思路非常不错,基于你的思路最后一步还可以简化一下,代码如下: public int MoreThanHalfNum_Solution(int [] array) { if (array == null || array.length == 0) { return 0; } int pre = array[0]; int count = 1; int c = 0; for (int i = 1; i < array.length; i++) { if (array[i] != pre) { count--; if (count == 0) { pre = array[i]; count = 1; c++; } } else { count++; } } if (c <= array.length / 2) { return pre; } return 0; }
2

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务