数组中出现次数超过一般的数字

来源:互联网 发布:it行业 云计算 编辑:程序博客网 时间:2024/05/01 16:54
package 把数组排成最小的数;public class Solution {    public int MoreThanHalfNum_Solution(int[] array) {        if (null == array) {            return 0;        }        int len = array.length;        if (len == 0) {            return 0;        }        int count = 0;        int record = array[0];        for (int i = 0; i < len;) {            count++;            if (i + 1 < len) {                if (array[i] != array[i + 1]) {                    count--;                    i += 2;                    if (count == 0) {                        if (i < len) {                            record = array[i];                        }                    }                } else {                    count++;                    i += 2;                }            } else {                break;            }        }        int index = 0;        if (count >= 1) {            for (int i = 0; i < len; i++) {                if (record == array[i]) {                    index++;                }            }            if (index >= len / 2 + 1) {                return record;            } else {                return 0;            }        } else {            return 0;        }    }    public static void main(String[] args) {        int[] array = { 1, 2, 3, 2, 4, 2, 5, 2, 3 };        System.out.println(new Solution().MoreThanHalfNum_Solution(array));    }}
0 0
原创粉丝点击