【题意】:数组中有一个数字出现超过半数以上,找出这个数字。【解析】:一个数字超过半数以上,这是本题仅有的条件,所以,我们要从这个条件入手。数字超过半数有什么特性呢?首先这个数字肯定是这些数的中位数。所以可以排序,然后找中位数。但是时间复杂度为排序的O(n*logn),还可以再快吗?现在有这么一个思路...
分类:
编程语言 时间:
2015-05-13 06:05:28
阅读次数:
141
UESTC Training for Search Algorithm & String
分类:
其他好文 时间:
2015-05-12 15:14:52
阅读次数:
111
原博客:http://blog.csdn.net/kenby/article/details/6833407 设数组A的长度为m, 数组B的长度为n, 两个数组都都是递增有序的。 求这两个数组的中位数 首先我们看看中位数的特点,一个大小为n的数组, 如果n是奇数,则中位数只有一个,数组中恰好有 (n...
分类:
编程语言 时间:
2015-05-11 12:49:14
阅读次数:
144
1303: [CQOI2009]中位数图Time Limit: 20 SecMemory Limit: 256 MB题目连接http://www.lydsy.com/JudgeOnline/problem.php?id=1303Description给出1~n的一个排列,统计该排列有多少个长度为奇数...
分类:
其他好文 时间:
2015-05-07 23:46:18
阅读次数:
124
中位数(1094)问题描述中位数(又称中值,英语:Median),统计学中的专有名词,代表一个样本、种群或概率分布中的一个数值,其可将数值集合划分为相等的上下两部分。对于有限的数集,可以通过把所有观察值高低排序后找出正中间的一个作为中位数。如果观察值有偶数个,则中位数不唯一,通常取最中间的两个数值的...
分类:
其他好文 时间:
2015-05-07 23:31:24
阅读次数:
160
问题描述:设T[0:n-1]是n个元素的数组。对任一元素x,设S(x)={i|T[i]=x}。当|S(x)|>n/2时,称x为T的主元素。设计一个线性时间算法,确定T[0:n-1]是否有一个主元素。分析与解答:(1)基于分治法的线性期望时间求主元素算法中位数:数列排序后位于最中间的那个数,如果一个数...
分类:
编程语言 时间:
2015-05-07 10:07:14
阅读次数:
316
两个有序数列A B,长度分别为m,n,求它们的中位数,要求时间复杂度是O(log(m+n)).解读:即求两数列按序合并后的中位数。【思路】1.mine:两个指针i,j分别指向两列的头,当a[i] n) return findKth(b, n, a, m, k); if (m ==...
分类:
其他好文 时间:
2015-05-06 12:55:00
阅读次数:
99
题意:一共n个数,给出其中k个数,要求这n个数的中位数为y,这n个数的和不超过x,补全剩下的n-k个数先统计给出的k个数里面比中位数小的数,如果cntn/2,说明中位数不存在 1 #include 2 #include 3 #include 4 #include 5 #include ...
分类:
其他好文 时间:
2015-05-06 08:02:32
阅读次数:
122
算法导论(第9章-中位数和顺序统计学)最大值和最小值...
分类:
编程语言 时间:
2015-05-04 10:09:11
阅读次数:
228
问题:寻找5个数的中位数,5个数中可能有相同的数,假设数依次存放在a[0] a[1] a[2] a[3] a[4]中,为了简便记为a0,a1,a2,a3,a4
思路:定义compare_swap(int* a,int* b)方法,此方法比较a,b两个数的大小,如果a大于b则交换两个数,也就是将两个数的较小者存放在a中,将较大者存放在b中。按照如下顺序进行比较:
比较a0 a1,将较小者存入a0...
分类:
其他好文 时间:
2015-05-02 15:14:32
阅读次数:
152