对列表进行排序一般都由后台来完成,但如果列表项不多无需分布的话也可以用JS完成,要使用JS排序自然也就想到sort()方法和reverse()方法,这两函数在JS中使用得比较多大家也许比较熟悉,但对于刚接触这两函数的初学者还是需要注意几点。sort()
方法用于对数组的元素进行正序排列reverse...
分类:
Web程序 时间:
2014-05-10 08:12:32
阅读次数:
421
"; }}/* * 分析: 由一周为一个轮回。
如果刚好有偶数个周,数组高大于宽,则有$col/2次轮回,若宽大于高则 有$row/2个轮回。 如果未奇数个周,则有$len/2+1个周。 */function
Printarrayincircle($arr) { $col = count...
分类:
其他好文 时间:
2014-05-10 08:10:37
阅读次数:
285
很难的问题,数组线性时间。
属于我之前说的解法的借助辅助空间。给定两个柱子,他们之间的面积由什么确定呢?没错,他们之间的距离和他们之间最矮的那个柱子的高度。我们并不知道这个柱子在什么位置,所以...
分类:
其他好文 时间:
2014-05-09 22:57:18
阅读次数:
404
刚开始做的时候用线段树做的,然后就跳进坑里了……因为要开方,所以区间的值都得全部变,然后想用lazy标记的,但是发现用不了,单点更新这个用不了,然后就不用了,就T了。然后实在不行了,看了别人的题解,原来是用树状数组+并查集的方法,唉……没想到啊!
因为开方之后多次那个数就会变成1了,所以是1的时候开方下去就没用了。树状数组更新的时候就把其更新的差更新即可,太机智了这题……
昨天做了,然后出错找...
分类:
其他好文 时间:
2014-05-09 22:35:22
阅读次数:
290
要求子集,有非常现成的方法。N个数,子集的个数是2^N,每个元素都有在集合中和不在集合中两种状态,这些状态用[0,pow(2,N)]中每个数来穷举,如果这个数中的第i位为1,说明当前集合中包含源数组中的第i个数。
至于有没有重复的元素,大部分有重复元素的问题,都可以借助一个vis集合,里面存放所有已经求得的集合或者其他形式的解,只有少数题目会超时,哪些问题具体的说。
class Solutio...
分类:
其他好文 时间:
2014-05-09 21:56:02
阅读次数:
244
线性排序的一种(时间复杂度为(n))
计数排序(Counting sort)是一种稳定的排序算法。计数排序使用一个额外的数组C,其中第i个元素是待排序数组A中值等于i的元素的个数。然后根据数组C来将A中的元素排到正确的位置。
计数排序的特征
当输入的元素是 n 个 0 到 k 之间的整数时,它的运行时间是 Θ(n + k)。计数排序不是比较排序,排序的速度快于任何比较排序算法。
由于用...
分类:
其他好文 时间:
2014-05-09 21:05:32
阅读次数:
309
我们有一个如下的cell数据
cdata = {'1' '11' '111' '1111' '11111'};
现在要把他转变成double型的数组,很自然会想到的方法是cell2mat,可悲的是会遇到一个问题:
matlab要求每一行的数据长度要相同才行。
解决这个问题:
1、先把cell转变成char数组,在把...
分类:
其他好文 时间:
2014-05-09 20:53:59
阅读次数:
425
partition是快排的准备工作,被用在其他很多问题上,比如找满足某个条件的数之类的。
在数组中,可以一头一尾的指针依次置换,这样是不能保证源数组中的相对顺序的。链表中就不一样了,没办法拿到尾部的指针,只能从头部往后找,找到第一不满足partition条件的节点,即较大的数,然后再往后找较小数,把较小数的节点移到前面来,因此跟数组的做法还有个区别,链表的partition只有一个指针在做实际的...
分类:
其他好文 时间:
2014-05-09 20:48:28
阅读次数:
252
php数组用中文作为键,读取的时候需加一个trim();
分类:
Web程序 时间:
2014-05-09 19:42:04
阅读次数:
273