码迷,mamicode.com
首页 >  
搜索关键字:数组中出现次数超过一半    ( 138个结果
面试题29_数组中出现次数超过一半的数字
题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。 解题思路 出现超过一半的数,一定是排好序的数组的中位数,即位置为 n/2 的数。 找到这个中位数,然后,遍历一次,判断是否出现次数超过一半,若是,则返回true,否则,没有这...
分类:编程语言   时间:2015-07-29 10:17:51    阅读次数:126
29 - 数组中出现次数超过一半的数字
题目描述:http://ac.jobdu.com/problem.php?pid=1370 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。直观想法是,先排序O(nlgn),那么下标是 n/2 的位置上一定是超过数组长度一半的数字。另一种思路是: 用快排里...
分类:编程语言   时间:2015-07-27 19:07:30    阅读次数:99
面试题五 数组中出现次数超过一半的数字 时间为O(n)
也就是说该数字出现的次数比其他所有数字出现次数的和还要多。因此可以保存两个值,一个数字,一个次数。遍历时1、如果数字相同,count++2、如果count == 0 count = 1 number替换 3、如果不相同 count--int main(){ int array[] = {...
分类:编程语言   时间:2015-07-21 23:46:05    阅读次数:152
(剑指Offer)面试题29:数组中出现次数超过一半的数字
题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。思路:1、方法1:先排序,然后找中位数;时间复杂度O(nlogn)2、方法2:基于Partition函数...
分类:编程语言   时间:2015-07-20 21:11:12    阅读次数:159
29数组中出现次数超过一半的数字
过程: int MoreThanHalfNum(int* numbers, int length) { if (CheckInvalidArray(numbers, length)) return 0; int middle = length >> 1; int start = 0; int end = length - 1; int index = Partition(numbe...
分类:编程语言   时间:2015-07-09 18:02:10    阅读次数:136
【剑指offer】面试题29:数组中出现次数超过一半的数字
题目:数组中一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为 9 的数组{1,2,3,2,2,2,5,4,2}。由于数字 2 在数组中出现了 5 次,超过数组长度的一半,因此输出 2. 这道题很多人都会想到对这个数组进行排序。那么在已排序的数组中,位于中间位置的数字就是超过数...
分类:编程语言   时间:2015-07-07 21:14:18    阅读次数:170
【C语言】统计数组中出现次数超过一半的数字
//统计数组中出现次数超过一半的数字 #include int Find(int *arr, int len) { int num = 0; //当前数字 int times = 0; //当前数字出现的次数 int i = 0; for (i = 0; i<len; i++) { if (times == 0) ...
分类:编程语言   时间:2015-07-07 17:02:39    阅读次数:124
面试题29:数组中出现次数超过一半的数字
题目:数组中有一个数字的次数超过数组长度的一半,请找出这个数字。解法一:基于Partition函数的O(N)算法 1 int partition(vector&num, int low, int high) 2 { 3 int pivot = num[low]; 4 while (l...
分类:编程语言   时间:2015-07-04 20:59:57    阅读次数:172
【剑指Offer学习】【面试题29 :数组中出现次数超过一半的数字】
题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字 解题思路: 解法一:基于Partition 函数的O(n)算法 解法二:根据数组组特点找出O(n)的算法...
分类:编程语言   时间:2015-07-03 09:14:29    阅读次数:143
数组中出现次数超过一半的数字
题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。 思路: 数组中有一个数字出现的次数超过数组长度的一半,也就是说它出现的次数比其他所有数字出现次数的和还要多。因此我们可以考虑在遍历数组的时候保存两个值:一个是数组中的一个数字,一个是次数。当我们遍历...
分类:编程语言   时间:2015-05-26 23:29:03    阅读次数:285
138条   上一页 1 ... 9 10 11 12 13 14 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!