【题目描述】 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。【原题重现:2016 腾讯C/C++研发工程师】 春节期间小明使用微信收.....
分类:
编程语言 时间:
2015-12-09 13:47:55
阅读次数:
155
题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。思路:解法一:基于partition函数的O(n)算法。 先用partition函数对数组进行交换修.....
分类:
编程语言 时间:
2015-11-11 11:19:22
阅读次数:
239
题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为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
题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为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
题目:
数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5此,超过数组长度的一半,因此输出2
分析:
因为是这个数出现的次数比其他数出现次数的总和还多,所以可以考虑用栈做,用来两两抵消.
如果碰到一样的,则加上,如果碰到与栈的末尾不一样,则弹出一个(抵消).
这样到了最后,剩下...
分类:
编程语言 时间:
2015-08-30 17:34:15
阅读次数:
109
题目:数组中有一个数字出现的次数超过数组长度的一半,请找出整个数字。例如输入一个长度为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
题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。思路:保存两个值:一个数组中的数字、一个出现的次数如果当前值和保存的数字相同,则次数加1;如果不同,则次...
分类:
编程语言 时间:
2015-08-11 21:24:13
阅读次数:
139