编程之美上一样的题目。寻找发帖水王。利用分治的思想。int majorityElement(int* nums, int numsSize) { int candidate; int nTimes,i; for(i=0,nTimes=0;i<numsSize;i++){ ...
分类:
其他好文 时间:
2015-06-04 21:00:49
阅读次数:
105
题目是这样描述的:“水王”发帖的数目超过了所有帖子的一半,有各个帖子的作者ID,求这个水王的ID编程之美给出了两种巧妙的解法解法一:ID排序,那么ID列表中的N/2项即为要找的ID(还要排序,时间复杂度为O(NlogN))解法二:通过查找,每次从列表中除去两个不一样的ID,最后就可以得出这个ID,时...
分类:
其他好文 时间:
2015-05-29 17:30:55
阅读次数:
97
下面可以谈论下如何求频繁元素的一个问题。
一、问题定义
如果一个数据流,其中m为数据流的大小,。我们可以定义每个元素出现的次数为,其中为第i个元素出现的次数。容易得出:。
如果给定参数k,我们想求出所有出现次数超过m/k的元素。也就是输出集合:。下面我们先从一个简单特例入手,对这个问题进行分析和解决。
二.简单情况
有个经典的过半元素查找问题,在编程之美里面也有分析(寻找发帖水王)。就是...
分类:
其他好文 时间:
2015-05-21 22:43:27
阅读次数:
215
寻找发帖“水王”题目是这样描述的:“水王”发帖的数目超过了所有帖子的一半,有各个帖子的作者ID,求这个水王的ID编程之美给出了两种巧妙的解法解法一:ID排序,那么ID列表中的N/2项即为要找的ID(还要排序,时间复杂度为O(NlogN))解法二:通过查找,每次从列表中除去两个不一样的ID,最后就可以...
分类:
其他好文 时间:
2015-05-07 10:21:20
阅读次数:
106
#include
using namespace std;
void find(int A[],int length)
{
int times=0;
int i=0;
int temp;
for(;i
{
if(times==0)
{
temp=A[i];
times=1;
}
else
{
if(A[i]==temp)
times++;
else
times...
分类:
编程语言 时间:
2015-04-12 17:48:53
阅读次数:
125
问题要求:
数组中有一个数字出现的次数超过了数组长度的一半,找出这个数字。
参考资料:编程之美2.3 寻找发帖水王
问题分析:
方法1 对数组排序,然后顺次查找其中最多的;
方法2 对数组排序,最中间一个肯定为要找的数字,时间复杂度O(NlogN);
方法3 每次消去数组中两个不同的数,最后剩下的肯定为要找的数字,时间复杂度O(N).
...
分类:
编程语言 时间:
2014-11-23 10:35:56
阅读次数:
292
问题要求: 数组中有一个数字出现的次数超过了数组长度的一半,找出这个数字。 参考资料:编程之美2.3 寻找发帖水王问题分析: 方法1 对数组排序,然后顺次查找其中最多的; 方法2 对数组排序,最中间一个肯定为要找的数字,时间复杂度O(NlogN); 方法3 每次消去数组中两个不同的数,最后...
分类:
编程语言 时间:
2014-11-23 10:31:34
阅读次数:
249
题意:在一堆ID号中,有一个ID出现的次数大于总数的一半,如何快速找出那个ID。我自己的想法是,如果ID号不是很大,用hash来存储每一个ID号出现的次数,出现一次,hash[ID]++,然后和max值比较,若大,则更新max值,复杂度为o(n)。书上一个好的解法是:每次删除两个不同的ID(不管是否...
分类:
其他好文 时间:
2014-11-09 23:33:48
阅读次数:
260
理论:java实现:package 经典;public class 寻找发帖水王 { /** * @param args */ public static void main(String[] args) { // TODO 自动生成的方法存根 ...
分类:
其他好文 时间:
2014-10-06 19:32:40
阅读次数:
196
这道题目由于不容易写测试用例,所以,可以把题目转换为:在一个数组中,有一个数字出现的次数超过了数组大小的一半,这和题目原意是一样的。 这道题目的思想是我们同时去掉数组中两个不一样的数字,那么,数组中原来存在的规律是不变的(仅针对这个题目)。 好吧,还是先给出函数声明:/*2.3 寻找发帖水王*/
bool DutVerify(int*, int, int);
int DutFi...
分类:
其他好文 时间:
2014-09-25 16:12:39
阅读次数:
144