日常笔记
adawangyi
这个作者很懒,什么都没留下…
展开
-
递归相关
在一个数组中找出几组数字,使得组成的数字之和为一个target值 1)如果数组中的值可以重复,则从i开始递归,其代码如下:void comb(vector<int> candidates, int index, int sum, int target, vector<vector<int>> &res, vector<int> &path) { if(sum>tar原创 2015-03-19 11:04:58 · 346 阅读 · 0 评论 -
基本的几种算法
这个人的博客详细的介绍了几个基本的算法,链接如下:http://www.cnblogs.com/steven_oyj/archive/2010/05/22/1741374.html原创 2015-05-05 20:00:56 · 229 阅读 · 0 评论 -
求一个链表的长度
求一个链表的长度 int len=0; while(p) { ++len; p=p->next; }原创 2015-04-28 20:57:50 · 1145 阅读 · 0 评论 -
深度搜索DFS
深度优先搜索属于图算法的一种,英文缩写为DFS即Depth First Search.其过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次. 正如算法名称那样,深度优先搜索所遵循的搜索策略是尽可能“深”地搜索图。在深度优先搜索中,对于最新发现的顶点,如果它还有以此为起点而未探测到的边,就沿此边继续汉下去。当结点v的所有边都己被探寻过,搜索将回溯到发现结点v有那条原创 2015-03-19 17:31:12 · 267 阅读 · 0 评论 -
动态规划的三大要素
动态规划三要素:问题的阶段,每个阶段的状态以及从前一个阶段转化到后一个阶段之间的递推关系。原创 2015-03-24 16:51:29 · 7147 阅读 · 0 评论 -
memset
老是遇到这个函数,每次看完都会忘记,今天在这里写一下,加深下自己对这个函数的印象。 函数原型:void *memset(void *s, int ch, size_t n); 示例: char buffer[20]; memset(buffer,0,sizeof(char)*20); 定义一个数组buffer,将数组内的20个内存位置(sizeof(char)*20)全部填充上0元素。原创 2015-03-12 15:34:49 · 388 阅读 · 0 评论 -
如何判断两个单链表是否有交点?
如何判断两个单链表是否有交点? 1、判断两个链表是否有环 case1:一个有环一个无环——-一定不相交 case2:两个都无环————–直接判断两个链表的最后一个结点是否相等 case3:两个都有环————–看其z点是否在另一个链表上原创 2015-03-11 10:23:43 · 558 阅读 · 0 评论 -
c++新语法
参考网址:http://developer.51cto.com/art/201312/422379.htm其中对于for的遍历有了新的含义,可以自带iterator在C++中for循环可以使用类似java的简化的for循环,可以用于遍历数组,容器,string以及由begin和end函数定义的序列(即有Iterator),示例代码如下:map<string, int> m{{"a", 1}, {"b原创 2015-03-10 16:07:21 · 419 阅读 · 1 评论 -
leetcode的做题感悟
要求出所有组合的问题,一般用dfs;如果要求总数,用dp原创 2015-03-20 20:58:03 · 283 阅读 · 0 评论 -
编程常出现的错误
1、求链表的长度时,循环的终止条件为run!=NULL ,而不是run->next=NULL原创 2015-03-25 20:55:37 · 346 阅读 · 0 评论 -
string(n,character)函数
作用:是产生n个字符组成的字符串; string(n,character) 其中character就是你需要生成的字符,n是生成的个数,比如string(3,”h”)就会生成3个h,注意的是character是字符,不是字符串,即使你写入字符串也只读入一个字符string(3,”hdffds”)生成的还是3个h原创 2015-05-07 16:23:30 · 500 阅读 · 0 评论