摘要:利用两个栈,然后分别存储每一个链表。继而,相继pop相同的节点。有些细节需要注意,请看最后的返回值是如何处理的。/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListN...
阅读全文
摘要:可以复用house robber的代码,两趟dp作为两种情况考虑,选最大值#include #define MAX 1000#define max(a,b) ( (a)>(b)?(a):(b) )int dp[MAX]={0};int rob1(int* a, int n) { int i; ...
阅读全文
摘要:简单的动态规划状态方程:dp[i]=max{dp[i-1],dp[i-2]+a[i]}.//其实就是分为选择a[i]和不选择a[i]两种情况,取最大值。代码如下:#define MAX 1000#define max(a,b) ( (a)>(b)?(a):(b) )int dp[MAX]={0};i...
阅读全文
摘要:const在函数前与函数后的区别一 const基础 如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况: int b = 500; const int* a = &b; [1] int const *a = &b; [2] int* const a = &b; [3] co...
阅读全文
摘要:事情的起因是POJ上一道数据量比较大的题目。一开始我TLE,而算法是O(n)的,具体的题目记不太起来了。 后来我通过一个小技巧来改进了程序的常数因子,就是与内存分配与释放有关,事实证明,计算机寻找可用的内存是需要一定的时间的,而当数据量变得很大,并且你不得不每次重新申请内存的时候,这花费的时间...
阅读全文
摘要:At the very first ,I got a problem .1 Vector Vector::operator+(const Vector &v)const{2 return Vector(x+v.val_x() ,y+v.val_y());//at the very fisrt...
阅读全文