题意:将已排序的链表中所有重复的元素移除
思路:
三个个指针,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
题意:爬一层有n阶的楼梯,每次可以爬一阶或两阶,问爬到顶部有多少种方案
思路:dp,具体一点是斐波那契数列。f(i) = f(i-1) + f(i-2)
第i阶可以是从第i-2阶爬上来的,也可以是从第i-1阶爬上来的
进一步发现在迭代到第i阶时,我们只要保存前面的f(i-1)和f(i-2),
所以只要定义两个变量就可以,不用定义一个数组。...
分类:
其他好文 时间:
2014-05-15 02:52:36
阅读次数:
247
题意:最大连续子序列和,在一个数组中找到和最大的连续子数组
思路:dp, 对于第i个数,有两种选择:把它加入在子数组里,不加入子数组(子数组到此结束)
加不加入子数组,要比较它加入前后子数组的总和是变大了还是变小了,如果变大则加入,变小则不加入
所以,我们需要记录以i-1结尾的子数组的总和,最后的结果在这些总和中取最大的那个
f[i] = max(f[i-1]+a[i],f[i-1]);
max({f[i]})
实现时用两个变量,一个保存f[i-1],一个保存目前为止最大的f[i]
复杂度:时间O(n),空...
分类:
其他好文 时间:
2014-05-14 21:53:14
阅读次数:
250
题意:将A-B编码为1-26,现在给一串数字,问有多少种解码方式
思路:动态规划
设f[i]表示以第i个字符结尾的数字串的解码方式,则
如果 s[i - 2]是1 或 s[i - 2]是2且s[i - 1]小于6,f[i] = f[i - 1] + f[i - 2]
否则,f[i] = f[i - 1]
此外,还要再加一些判断
如果s[i - 1]是零,则以s[i - 2]数字结尾的解码方式为零。因为s[i - 2]数字必须和s[i - 1]结合起来
实现的时候只要两个变量保存前两个的值,即f[i - 1...
分类:
其他好文 时间:
2014-05-14 21:48:05
阅读次数:
261
为Python添加默认模块搜索路径
方法一:函数添加
1) import sys
2) 查看sys.path
3) 添加sys.path.append("c:\\")
方法二:修改环境变量
windows用户可以修改系统环境变量PYTHONPATH
方法三:增加.pth文件,推荐!
在site-packages添加一个路径文件,如mypkpath.pth,必须以...
分类:
编程语言 时间:
2014-05-14 21:21:27
阅读次数:
419
当kmp在母串中匹配到子串之后,删去子串相当于把失配指针往回退到匹配位置的前一个,如果只回退一次的话,直接用数组就可以处理失配指针了,但是本题可能删除后存在多个子串,所以用栈把失配指针位置先存起来,然后找到一次把len长度的失配指针删去,然后栈顶元素就是第一句话说的回退出匹配位置的前一个了。
为了方便调用函数,把以前的kmp改成了接口,方便使用,这样就不用开全局变量的数组了,代码看起来更符合工作...
分类:
其他好文 时间:
2014-05-14 20:20:53
阅读次数:
362
做一件事情首先应该知道它的目的是什么。
container_of的目的:如何通过结构中的某个变量获取结构本身的指针。
总体思路:假想一下,你的结构体中有好几个成员,你如何通过里面的“任一成员”获取
整个结构体的首地址呢。container_of的做法就是通过typeof定义一个与“任一成员”同类型
的指针变量pvar_a(假设变量名就是pvar_a),并让指针变量pvar_a指向这个“...
分类:
系统相关 时间:
2014-05-14 19:56:15
阅读次数:
494
//通过结构体/类的类型来作为模板参数的tag,
//用来区分tag之间的区别。
//made by davidsu33
//例如对于某个全局的静态变量,你如果希望有
//很多份,但是其实现又是一样的,你可以考虑
//以模板的形式,通过类tag来区分
//而且还可以根据实际需要来特化模板
#include "stdafx.h"
#include
#include
using nam...
分类:
其他好文 时间:
2014-05-14 19:33:42
阅读次数:
234
Jsp的session是使用bean的一个生存期限,一般为page,session意思是在这个用户没有离开网站之前一直有效,如果无法判断用户何时离开,一般依据系统设定,tomcat中设定为30分钟.
我们使用session功能,可以达到多个jsp程序从操作同一个java bean,那么这个java bean可以作为我们传统意义上的"全局变量池".(在java中我们可以使用static静态化一...
分类:
Web程序 时间:
2014-05-14 19:23:26
阅读次数:
431
6安装maven下载地址:http://maven.apache.org/download.cgi解压安装unzip–oapache-maven-3.2.1-bin.zipmvapache-maven-3.2.1maven配置环境变量MAVEN_HOME=/usr/local/mavenexportPATH=$MAVEN_HOME/bin:$PATH7java环境自动构建部署7.1新建job输入名称如下图输入SVN服务器地址?.
分类:
编程语言 时间:
2014-05-14 15:44:56
阅读次数:
460