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

xiaoxiao2021-02-28  77

常规思路:对数组进行排序,之后找出中位数,判断个数是不是超过数组的一半。 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; } }
转载请注明原文地址: https://www.6miu.com/read-54010.html

最新回复(0)