数组A是具有n个元素的数组,x是A中的一个元素,若A中有一半以上的元素与A相同,则称x是数组A的主元素。例如 ,数组A={1,3,2,3,3,4,3},元素3就是该数组的主元素。 1、移去数组中的两个不同元素后,如果原来数组中有主元素,那么该主元素依然是新数组的主元素。 2、如果数组2k个元素中有k ...
分类:
编程语言 时间:
2017-04-13 00:31:55
阅读次数:
274
采用阵地攻守的思想:第一个数字作为第一个士兵,守阵地;count = 1;遇到相同元素,count++;遇到不相同元素,即为敌人,同归于尽,count--;当遇到count为0的情况,又以新的i值作为守阵地的士兵,继续下去,到最后还留在阵地上的士兵,有可能是主元素。再加一次循环,记录这个士兵的个数看 ...
分类:
编程语言 时间:
2017-04-08 14:42:43
阅读次数:
224
1045. 快速排序(25) 著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边。 给定划分后的N个互不相同的正整数的排列,请问有多少个元素可能是划分前选取的主元? 例如给定N = 5, 排列是1、3、 ...
分类:
编程语言 时间:
2017-03-21 13:00:24
阅读次数:
176
题意: 经典灯问题,求最少次数 本题数据不水,必须要暴搜自由元的取值啦 想了好久 然而我看到网上的程序都没有用记录now的做法,那样做遇到自由元应该可能会丢解吧...? 我的做法是把自由元保存下来,枚举的时候只枚举自由元 但这样没法最优性剪枝了 于是枚举的时候还是从n到1枚举,到i时如果i是主元这时 ...
分类:
其他好文 时间:
2017-02-18 15:58:31
阅读次数:
186
1、随机化快速排序算法(1)、快速排序的坏处:完全顺序/完全逆序时时间复杂度为:O(n^2),其余的情况时间复杂度为:O(nlogn),算法的效率与输入顺序有关;(2)、随机选择主元,好处:其运行时间不依赖于输入序列的顺序,算法的效率与输入的顺序无关;(3)、最差的情况由随机数产生..
分类:
其他好文 时间:
2017-02-18 09:55:50
阅读次数:
248
:before,:after伪元素 伪元素特性(目前已经遇到的) 它不存在于文档中,所以js无法操作它 它属于主元素本身,有些伪类仅仅是代表元素内容的一部分,譬如:first-letter代表第一个字母;因此当伪元素被点击的时候触发的是主元素的click事件 块级元素才能有:before, :aft ...
分类:
Web程序 时间:
2017-01-14 20:02:48
阅读次数:
228
Moore's voting algorithm算法:从一个集合中找出出现次数半数以上的元素,每次从集合中去掉一对不同的数,当剩下一个元素的时候(事实上只要满足一个元素出现过半就一定会剩下一个元素的)这个元素就是我们要找的数了。 AC代码: 题目来源: http://www.lintcode.com ...
分类:
其他好文 时间:
2017-01-03 08:03:49
阅读次数:
202
著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边。 给定划分后的N个互不相同的正整数的排列,请问有多少个元素可能是划分前选取的主元? 例如给定N = 5, 排列是1、3、2、4、5。则: 1的左边没有 ...
分类:
编程语言 时间:
2016-12-31 14:41:02
阅读次数:
338
当方程组的未知数个数不等于方程个数时,用高斯消元法得到的是行阶梯型矩阵。此时每个主元所在的列可作为方程组的基本列,基本列的个数为矩阵的秩。选择的列可以不同,但个数唯一。即:当用高斯约当法消减时,可看出非基本列是基本列的线性组合:事实上对线性方程组或者说矩阵的理解有这么几个角度: 1、从行的方向来看 ...
分类:
其他好文 时间:
2016-11-09 19:24:14
阅读次数:
231
前面写过一个关于快速排序的算法,那个写得很仔细了,对于理解快排的思想是足够,也很好的。但近期在做笔试的题目碰到的关于快速的排序的题目,发现一般题目都是指定数组的第一个元素做主元,而我却比较擅长把最后一个元素作为主元,搞得很尴尬。其实要想达到快排最好的时间复杂度,除了待排序的数组是无序外,主元的选择也 ...
分类:
编程语言 时间:
2016-09-24 13:25:34
阅读次数:
264