题意:将已排序的链表中所有重复的元素移除
思路:
三个个指针,pre, cur, next
一个布尔变量is_appear,表示cur指针指向的值之前是否已经出现过
检查cur, next指向的节点的值是否相同,
相同的话,删除cur
不同的话,如果is_appear为true,删除cur,否则不删除
删除的话,只移动cur, next指针
不删除的话,要移动pre, cur, next三个指针
复杂度:时间O(n),空间O(1)...
分类:
其他好文 时间:
2014-05-15 02:54:32
阅读次数:
262
题意:让你染色点,要求在给出的区间内|红色个数-蓝色个数|
思路:排序后依次交替染色就能达到效果
#include
#include
#include
#include
#include
using namespace std;
const int MAXN = 110;
int arr[MAXN];
int n,m,x,y;
int main(){
scanf("%d%d",...
分类:
其他好文 时间:
2014-05-15 02:53:54
阅读次数:
205
题意:移除链表的倒数第n个元素
思路:
两个指针p, q,
p先走n步,然后p,q一起走,当p走到尾的时候,q->next就是要删除的节点
复杂度: 时间O(n),空间O(1)...
分类:
其他好文 时间:
2014-05-15 02:53:13
阅读次数:
241
第三道树的题目,我还是不会,我擦,怎么递归算法还是不能很好理解。看来还得好好研究下递归算法。题目:求一棵树的最大深度。思路:递归地求取左子树最大深度
和 右子树最大深度,返回较大值即为 整棵树的 最大深度。代码:public int maxDepth(TreeNode root) { ...
分类:
其他好文 时间:
2014-05-14 23:07:14
阅读次数:
373
题意:移除数组中出现的给定元素,并返回移除元素数组长度。要求在数组上操作
思路:遍历数组,将除给定元素外的其他元素赋值给“新数组”,不过这个“新数组”还是在原来的“旧数组”的内存空间
因为遍历旧数组的下标总大于等于新数组的下标,所以赋值并不会影响到还没有遍历到的元素
复杂度:时间O(n), 空间O(1)...
分类:
其他好文 时间:
2014-05-14 21:35:52
阅读次数:
257
题意:从一个已排序的数组中移除掉重复的元素,每个元素最多可重复两次
思路: 思路和Remove Duplicates from Sorted Array一样,不过要设置一个计数变量,表示当前值出现的次数
出现次数少于2可以加入到新数组,多于2则不可以。每次遇到一个新变量要把计数变量重新设置为1,加入新数组要加1
复杂度:时间O(n), 空间O(1)...
分类:
其他好文 时间:
2014-05-14 21:03:00
阅读次数:
262
题目来源:UVa 991 Safe Salutations
题意:圆上2*n个点均匀分布 两两相连 求不相交的方案数
思路:卡特兰数的应用
/*
最典型的四类应用:(实质上却都一样,无非是递归等式的应用,就看你能不能分解问题写出递归式了)
1.括号化问题。
矩阵链乘: P=a1×a2×a3×……×an,依据乘法结合律,不改变其顺序,只用括号表示成对的乘积,试问有几种括号化的方案?(h(n)...
分类:
其他好文 时间:
2014-05-14 20:52:44
阅读次数:
370
【题目】
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
【题意】
反转int型整数,输出的也是int型的整数
【思路】
如要考虑两种特殊情况:
1. 类似100这样的整数翻转之后为1
2. 翻转之后的值溢出该如何处理,
本题的测试用例中似乎没有给出溢出的情况
...
分类:
其他好文 时间:
2014-05-14 20:41:19
阅读次数:
244
题目链接:uva 11806 - Cheerleaders
题目大意:在一个m行n列的矩阵网里放k个石子,问有多少种画法?每个格子最多放一个石子,所有石子必须用完,并且在第一行、最后一行、第一列和最后一列都得有石子。
解题思路:容斥原理,我们可以先求说在m?n的矩阵上放k个石子的种数C(nmk),减掉四条边界不放的情况就是答案了。所以枚举16种状态,用二进制数表示说四条边中那些边是不放...
分类:
其他好文 时间:
2014-05-14 19:57:17
阅读次数:
219
做一件事情首先应该知道它的目的是什么。
container_of的目的:如何通过结构中的某个变量获取结构本身的指针。
总体思路:假想一下,你的结构体中有好几个成员,你如何通过里面的“任一成员”获取
整个结构体的首地址呢。container_of的做法就是通过typeof定义一个与“任一成员”同类型
的指针变量pvar_a(假设变量名就是pvar_a),并让指针变量pvar_a指向这个“...
分类:
系统相关 时间:
2014-05-14 19:56:15
阅读次数:
494