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

来源:互联网 发布:mac 不能剪切 编辑:程序博客网 时间:2024/06/05 14:24
常规思路:对数组进行排序,之后找出中位数,判断个数是不是超过数组的一半。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;    }}
阅读全文
0 0