摘要:
原题地址方法I:动态规划另sum[i]表示从i开始的最大子串和,则有递推公式:sum[i] = max{A[i], A[i] + sum[i+1]}因为递推式只用到了后一项,所以在编码实现的时候可以进行状态压缩,用一个变量即可代码: 1 int maxSubArray(int A[], int n)... 阅读全文
posted @ 2015-01-27 14:02
李舜阳
阅读(2789)
评论(0)
推荐(0)
摘要:
原题地址排序+DFS代码: 1 vector > res; 2 3 void dfs(vector &num, vector &ans, int pos, int left) { 4 if (left == 0) 5 res.push_back(ans); 6 for (i... 阅读全文
posted @ 2015-01-27 11:00
李舜阳
阅读(532)
评论(0)
推荐(0)
摘要:
原题地址想当年初学C++的时候写个大整数加法都快屎了,现在觉得自己还是成长了不少哇。代码: 1 string multiply(string num1, string num2) { 2 int len1 = num1.length(); 3 int len2 = n... 阅读全文
posted @ 2015-01-27 02:27
李舜阳
阅读(156)
评论(0)
推荐(0)
摘要:
原题地址普通分治题。需要注意n可正可负。代码: 1 double pow(double x, int n) { 2 if (n == 0) return 1; 3 if (n == 1) return x; 4 if (n == -1) return ... 阅读全文
posted @ 2015-01-27 02:12
李舜阳
阅读(143)
评论(0)
推荐(0)
摘要:
原题地址Anagram:变位词。两个单词是变位词关系的条件是:组成单词的字符相同,只是顺序不同第一次看这道题看了半天没明白要干嘛,丫就不能给个样例输入输出么。。后来还是看网上其他人的总结知道是怎么回事。通常的做法是:把字符串内的字符排序,这样,凡是变位词都会变成相同的单词。用map记录这样的单词出现... 阅读全文
posted @ 2015-01-27 02:00
李舜阳
阅读(196)
评论(0)
推荐(0)
摘要:
原题地址普遍的做法是:用栈保存从根节点到当前尚未遍历过的最小节点的路径(栈顶始终是最小节点)constructor:遍历至最小节点,同时将路径上出现的节点压栈保存hasNext:返回栈里面是否还有元素next:栈顶元素即为所求,弹栈的同时更新栈,使栈里始终保存的是从根节点到剩余未遍历节点的最小节点的... 阅读全文
posted @ 2015-01-27 01:49
李舜阳
阅读(549)
评论(0)
推荐(0)

浙公网安备 33010602011771号