- 博客(11)
- 资源 (6)
- 收藏
- 关注
原创 Edit Distance
题目大意:求最短编辑距离。 解题思路,动态规划 用dp[i][j]表示字符串str1的0~i和str2的0~j的最短编辑距离。 dp[i][j]只有3个来源: 1)dp[i - 1][j] + 1表示str1的0~ i - 1和str2的0~j的最短编辑距离 + 1,表示删除str1的第i个字符; 2)dp[i][j - 1] 表示str1的0~i和str2的0~ j - 1的最短编辑距
2015-02-28 19:51:29 385
原创 Populating Next Right Pointers in Each Node II
题目大意:二叉树里面每个节点都有一个next指针,要求使得每个节点的next指针指向这一层的最先遇到的节点。 解题思路:宽度遍历。 #include #include #include using namespace std; struct TreeLinkNode { int val; TreeLinkNode *left, *right, *next; T
2015-02-27 23:32:02 385
转载 Best Time to Buy and Sell Stock IV
https://gist.github.com/ElninoFong/d08051d98e634991cd93 http://www.cnblogs.com/grandyang/p/4295761.html #include #include #include #include #include using namespace std; class Solution {
2015-02-19 22:50:04 4529 3
转载 Largest Rectangle in Histogram
#include #include #include #include #include using namespace std; class Solution { public: int largestRectangleArea(vector &height) { if(height.empty()) return 0; v
2015-02-19 17:31:10 424
转载 Distinct Subsequences
http://fisherlei.blogspot.tw/2012/12/leetcode-distinct-subsequences_19.html class Solution { public: int numDistinct(string S, string T) { if(S.empty()) return 0; if
2015-02-10 00:15:48 478
转载 Scramble String
转自:http://www.cnblogs.com/yuzhangcmu/p/4189152.html class Solution { public: bool isScramble(string s1, string s2) { if(s1.length() != s2.length()) return
2015-02-08 01:56:28 579
原创 Reverse Nodes in k-Group
题目大意:给定一个链表和一个k值,要求把这个链表每段长度为k的节点反转,不够k值长度的片断不反转。 解题思路:简单的链表操作,保证O(n)时间完成。 #include #include using namespace std; struct ListNode { int val; ListNode *next; ListNode(int x): val(x), next(
2015-02-06 00:41:50 1975
原创 Best Time to Buy and Sell Stock III
题目大意: 有一支股票, 你买入和卖出的机会最多两次,且不能在同一天买进和卖出。让你求最大的收益。 解题思路:动态规划。 用dp_head[i]表示0~i的序列,股票最多交易一次的最大收益 dp_tail[i]表示i~end的序列,股票最多交易一次的最大收益。 然后求max(dp_head[i] + dp_tail[i+1]). #include #include #incl
2015-02-05 00:36:30 1594
原创 Best Time to Buy and Sell Stock II
题目大意: 有一支股票, 你买入和卖出的机会不限次数。让你求最大的收益。 解题思路:贪心法,求这个序列的每个递增子序列,将这些递增子序列的最大收益和相加就是结果。 #include #include #include #include #include using namespace std; class Solution { public: int maxProf
2015-02-04 23:46:03 434
原创 Best Time to Buy and Sell Stock
题目大意: 有一支股票, 你只有顶多一次买入和卖出的机会。让你求最大的收益。 解题思路: 遍历这个数组,用当前值减去之前保存的最小值,求这个差值的最大值。 #include #include #include #include #include using namespace std; class Solution { public: int maxProfit(v
2015-02-04 22:49:07 485
原创 Binary Tree Maximum Path Sum
题目大意: 一个二叉树,每个节点都有一个整数值(可以为负数), 求这个二叉树,任意两个节点路径所有节点之和的最大值。 解题思路:递归求解。 #include using namespace std; class Solution { public: int maxPathSum(TreeNode *root) { if(root == NULL)
2015-02-02 23:20:52 539
[现代编译原理C语言描述
2012-08-13
UNIX环境高级编程第二版.
2011-12-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人