随笔分类 - leetcode
摘要:两个账号:royanimal zs8611100
阅读全文
摘要:class Solution { public: bool hasCycle(ListNode *head) { if(head == NULL) return false; if(head->next == NULL) return false; ListNode* p1 = head;...
阅读全文
摘要:没通过的代码: 三维vector初始化:http://blog.csdn.net/u013630349/article/details/47777645
阅读全文
摘要:这里: for(int j = 1;j <= m;j++) result[0][j] = 0x80000000; 不能从0开始,result[0][0]是可以取到的,是0。其他情况取不到才用最小表示。
阅读全文
摘要:注意j-A[i-1]必须大于等于0,只大于0会报错
阅读全文
摘要:f[i][j]表示的是以第i个结尾和第j个结尾
阅读全文
摘要:注意:因为开的空间是length+1的,对于字符串的下标计算要-1
阅读全文
摘要:初始化技巧: 在做字符串的dp时,对一个长度为n的字符串,往往要开n+1的空间,把0那一位留出来。因为定义前i个字符,自然分为前0个字符,前1个字符,前n个字符。前0的空串不能忽略,空串很重 要, 很多的结果是从空串来的。 这段代码前两个for循环是对子串回文串信息的初始化。利用一个二维数组记录子串
阅读全文
摘要:这里的result[0] = true值得注意 substr函数的第一个参数是开始的位置,第二个参数不是结束的位置,而是个数
阅读全文
摘要:这个题用DP,千万不能将state设为f[i]表示前i个数字中最长的LIS的长度 ,而是设成f[i]表示前i个数字中以第i个结尾的LIS的长度。如果那样定义,f[i]和f[j]之间是没有太大关系。 比如7,8,10,2,3,4,5可以,但2,3,9,10,5,6,7,8就不行 因为f[i]表示前i个
阅读全文
摘要:时间复杂度过高,o(n2)超时了: 把上面代码简化,依旧是超时 用贪心算法做,时间复杂度只有0(n) 推导过程: 两个讲解博客: http://blog.csdn.net/cinderella_niu/article/details/42804559 http://www.cnblogs.com/b
阅读全文
摘要:这种动规的方法时间复杂度是0(n²) 优化:记录能到达的最远距离,时间复杂度只有o(n)
阅读全文
摘要:注意一个容易犯的错误:判断obstacleGrid是否为1时,else那部分不能少。因为如果不加,就会默认把那些值设置为0。 初始化第一行第一列
阅读全文
摘要:初始化(0,0) 初始化第一行第一列
阅读全文
摘要:只初始化(0,0) 初始化第一行,第一列
阅读全文
摘要:1.刚开始result的初始化写的是vector<vector<int>> result,然后再去对result[0][0] = triangle[0][0]赋值,一直报错。老问题了! 2.多维vector的初始化: vector<vector<int>> result(height,vector<
阅读全文