剑指offer——数组中出现次数超过一半的数字
2018-04-03 22:48
288 查看
剑指offer——数组中出现次数超过一半的数字
题目描述
数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。我的解题思路
先排序,然后进行数字统计。代码展示
import java.util.Arrays; public class Solution { public int MoreThanHalfNum_Solution(int [] array) { if(array.length==1) return array[0]; Arrays.sort(array); int num=1; for(int i=1;i<array.length;i++){ if(array[i]==array[i-1]){ num++; if(num>array.length/2){ return array[i]; } }else{ num=1; } } return 0; } }
相关文章推荐
- 数组中超过出现次数超过一半的数字--剑指offer
- 剑指Offer29数组中出现次数超过一半的数字
- 剑指offer39: 数组中出现次数超过一半的数字
- 剑指offer——数组中出现次数超过一半的数字_(待写最优法分治)
- 【剑指Offer面试题】 九度OJ1370:数组中出现次数超过一半的数字
- [剑指offer]数组中出现次数超过一半的数字
- 剑指offer-数组中出现次数超过一半的数字
- 剑指Offer----面试题29:数组中出现次数超过一半的数字
- 剑指Offer 29 数组中出现次数超过一半的数字
- 【剑指offer-Java版】29数组中出现次数超过一半的数字
- 《苦练算法》-剑指Offer- 二十八、数组中出现次数超过一半的数字-python编写
- 剑指offer 29题 【时间效率】数组中出现次数超过一半的数字
- 剑指offer-29 数组中出现次数超过一半的数字
- [剑指Offer]数组中出现次数超过一半的数字
- 【剑指offer之数组中出现次数超过一半的数字 】
- 剑指Offer-29-数组出现次数超过一半的数字-基于Partition函数的O(n)算法
- 剑指offer面试题29-数组中出现次数超过一半的数字
- 剑指Offer:面试题29——数组中出现次数超过一半的数字(java实现)
- (C++)剑指offer-28:数组中出现次数超过一半的数字(时间效率)
- 剑指offer-面试题29.数组中出现次数超过一半的数字