您的位置:首页 > Web前端

[置顶] 剑指offer:第29题寻找数组中出现次数超过一半的数字

2017-06-07 17:39 253 查看
常规思路:对数组进行排序,之后找出中位数,判断个数是不是超过数组的一半。
import java.util.Arrays;

public class _Test_29 {
public static void main(String[] args) {
int [] array ={1,2,3,2,2,2,5,4,2};
System.out.println(getNumber(array));
}
public static int getNumber(int [] array)
{
int len = array.length;
if (len < 0) {
return 0;
}
int count = 0;
Arrays.sort(array);
int num = array[len/2];
for (int i = 1; i < len; i++) {
if (array[i] == num) {
count ++;
}
}
if (count <= len/2) {
num = 0;
}
return num;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: