码迷,mamicode.com
首页 >  
搜索关键字:数组中出现次数超过一半的数字    ( 122个结果
数组中出现次数超过一半的数字
【题目描述】 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。【原题重现:2016 腾讯C/C++研发工程师】 春节期间小明使用微信收.....
分类:编程语言   时间:2015-12-09 13:47:55    阅读次数:155
P163、面试题29:数组中出现次数超过一半的数字
题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。思路:解法一:基于partition函数的O(n)算法。 先用partition函数对数组进行交换修.....
分类:编程语言   时间:2015-11-11 11:19:22    阅读次数:239
【剑指Offer】数组中出现次数超过一半的数字
题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。算法描述打擂算法:多的留下,少的走 先找出数最多的,然后找有多少个数,最后判断数目是否超过了一半, θ(n)时间复杂度代码实现class Solution { public: int Mor...
分类:编程语言   时间:2015-09-21 01:37:53    阅读次数:286
【剑指offer】十九,数组中出现次数超过一半的数字
题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。分析:找数组中出现次数超过一半的数字,我们一半可以采用两种方法,一是使用快排,对数组进行排序,然后直接...
分类:编程语言   时间:2015-09-12 17:28:52    阅读次数:148
数组中出现次数超过一半的数字
题目来源《剑指offer》面试题29、《编程之美》2.3 题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2. 解法1:数组中有一个数字出现的次数超过了...
分类:编程语言   时间:2015-09-03 19:05:47    阅读次数:163
数组中出现次数超过一半的数字
数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。记得最后要判断一下count是否大于n/2.若求n/3的数,则可用num1,num2来判断,当number[i...
分类:编程语言   时间:2015-08-31 21:06:19    阅读次数:198
剑指offer面试题29-数组中出现次数超过一半的数字
题目: 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5此,超过数组长度的一半,因此输出2 分析: 因为是这个数出现的次数比其他数出现次数的总和还多,所以可以考虑用栈做,用来两两抵消. 如果碰到一样的,则加上,如果碰到与栈的末尾不一样,则弹出一个(抵消). 这样到了最后,剩下...
分类:编程语言   时间:2015-08-30 17:34:15    阅读次数:109
面试题29.数组中出现次数超过一半的数字
题目:数组中有一个数字出现的次数超过数组长度的一半,请找出整个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在整个数组中出现5次,超过数组长度的一半,输出2.此题的解法有很多种,剑指offer书中提出了两种,一种是Parition的方法,另外一种是计数的方法。这里...
分类:编程语言   时间:2015-08-30 17:07:36    阅读次数:172
数组中出现次数超过一半的数字
题目: 数组中有一个数字出现的次数超过数组长度的一半,请找出这一个数字。输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}, 数字2在数组中出现的次数大于数组长度的一半,返回2。 这道题类似以前做过的Maximum Subarray。 按着以前的思路: 确定某一个数字,遇到相同的数字加1,遇到不同的数字减1,当累加器为0时,我们重新开始计算即可。 完成后继续判断这个数...
分类:编程语言   时间:2015-08-12 13:18:44    阅读次数:160
【剑指offer】面试题29:数组中出现次数超过一半的数字
题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。思路:保存两个值:一个数组中的数字、一个出现的次数如果当前值和保存的数字相同,则次数加1;如果不同,则次...
分类:编程语言   时间:2015-08-11 21:24:13    阅读次数:139
122条   上一页 1 ... 7 8 9 10 11 ... 13 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!