问题:
两个有序数组,合并成一个有序数组,假设第一个数组空间足够容纳两个数组。
分析:
考虑到num1数组很大,可以直接在num1数组上进行合并,但是要讲究效率。
如果单纯从前往后合并,那么效率会非常低,因为a数组后面的数字需要不停的移动。
换一种思路,我们采用从后往前合并,首先计算出总长度,设置一个指针从num1数组最后往前移动。...
分类:
编程语言 时间:
2015-06-04 01:04:46
阅读次数:
115
典型的博弈论,算法思路为在初始化的过程中便获得2001.11.4到1990.1.1期间所有日期的胜败情况。对于y-m-d日期,若其下一天和下一月中有一个为必败情况,则今天为必胜。若两者均为必胜,则今天为必败。主要难度在于前一日(getDayBefore)和后一月(isValidNextMonth)日期的判定,要注意闰年情况的特殊性。
虽然说这样可行。但是,网上给出了另外一种巧解,如下。从后往前...
分类:
其他好文 时间:
2015-06-03 13:39:25
阅读次数:
104
七个字:从后往前先换大就是从后往前扫,1的时候 从最大的可能中先替换3,然后替换2。这个规律就是观察出的,比较好理解。因为“从后往前先换大”的时候,把最大的放在的最后,这样可能就节省了下次的排序。具体代码如下:/*ID: awsd1231PROG: sort3 LANG: C++*/#include...
分类:
其他好文 时间:
2015-06-02 10:52:33
阅读次数:
90
题目:数组中的数分为两组,给出一个算法,使得两个组的和的差的绝对值最小数组中的数的取值范围是0weight[i]另外,如果想知道是由那几件物品组成的最大价值,可以从后往前回溯,当V[i][j]>V[i-1][j],说明第i件物品被加入(路径不唯一)。代码:#include #include usin...
分类:
编程语言 时间:
2015-06-01 11:09:20
阅读次数:
441
题意:题目太长直接看链接链接:点我乱搞题显然,一个人要想成功,必须大于等于最强的人的战斗力,所以我们从后往前看这里直接拿例1解释,首先递减排个序15,13,10,9,8作差得2,3,1,1,此时我们从10出发即可成功同时也发现,战斗力逐渐递增和直接到某个值其实是等价的于是我们假设战斗力是从15-13...
分类:
其他好文 时间:
2015-05-31 01:22:18
阅读次数:
122
百度之星的题。其实最简单的方法是二分答案,我竟然没想到,直接去想O(n)的去了,最后导致滚粗。。。题意就是给一个数列,要求把它处理成递增序列。首先我想到了O(n^2)的算法,然后再优化成O(n)过的。n^2的做法是,弄一个尾指针e,从后往前扫,一旦发现a[e-1]>=a[e],说明a[e]之后的所有...
分类:
其他好文 时间:
2015-05-30 22:36:56
阅读次数:
202
1、在python中,最基本的数据结构是序列,序列中每一个元素被分配一个序号,即元素的位置,称为索引。索引从0开始,-1表示倒数第一个元素,-2表示倒数第二个元素,因此既可以是从前到后开始对元素进行访问,也可以从后往前对元素进行访问。2、python序列中有6种内建的序列:列表、元组、字符串、Uni...
分类:
编程语言 时间:
2015-05-28 00:40:59
阅读次数:
272
JavaScript的字符串方法indexOf()在指定字符串中寻找一个字符或者子串,返回一个子串后字符所在的索引lastIndexOf()在指定字符串中从后往前查找一个字符或者子串varzp="chinancepuzp";console.log(zp.indexOf("c"));//输出0console.log(zp.indexOf("c",1));//从第1个位置向后开..
分类:
编程语言 时间:
2015-05-27 01:07:36
阅读次数:
159
JavaScript的字符串方法indexOf()在指定字符串中寻找一个字符或者子串,返回一个子串后字符所在的索引lastIndexOf()在指定字符串中从后往前查找一个字符或者子串varzp="chinancepuzp";console.log(zp.indexOf("c"));//输出0console.log(zp.indexOf("c",1));//从第1个位置向后开..
分类:
编程语言 时间:
2015-05-27 01:06:47
阅读次数:
161
1、合并排序,将两个已经排序的数组合并成一个数组,其中一个数组能容下两个数组的所有元素;
合并排序一般的思路都是创建一个更大数组C,刚好容纳两个数组的元素,先是一个while循环比较,将其中一个数组A比较完成,将另一个数组B中所有的小于前一个数组A的数及A中所有的数按顺序存入C中,再将A中剩下的数存入C中,但这里是已经有一个数组能存下两个数组的全部元素,就不用在创建数组了,但只能从后往前面存,从...
分类:
编程语言 时间:
2015-05-26 21:30:46
阅读次数:
170