- 博客(4)
- 收藏
- 关注
原创 Edit Distance
Edit Distance 题目大意 给你两个单词,计算最少需要几步操作将第一个单词变为第二个单词。操作包括:删除,添加,替换。 解题思路 动态规划 if word1[i] == word2[j] dp[i][j] = dp[i-1][j-1] else dp[i][j] = min(dp[i-1][j] + 1, dp[i-1][j-1] + 1, dp[i][j-1] ...
2018-04-24 10:14:29 97
原创 最长公共子序列
最长公共子序列 解题思路 此题是经典的动态规划题,直接给出状态转移方程 if( a(m) == b(n) ) dp[m][n] = dp[m-1][n-1] + 1 else dp[m][n] = max(dp[m-1][n], dp[m][n-1]) 代码 #include<iostream> #include <vector> us...
2018-04-16 11:18:11 125
原创 回文子序列数(京东暑期实习笔试题)
回文子序列数 题意大意 给定字符串,求它的回文子序列个数。回文子序列反转字符顺序后仍然与原序列相同。例如字符串aba中,回文子序列为”a”, “a”, “aa”, “b”, “aba”,共5个。内容相同位置不同的子序列算不同的子序列。 解题思路 使用动态规划,d[i][j]代表从字符i到字符j的回文子序列数。其状态转移方程为: 状态转移方程: dp[i][j]=dp[i+1][...
2018-04-10 10:39:08 598
原创 Trapping Rain Water
Trapping Rain Water 题目大意 给你一个非负的数组,假设其宽度为1,试问按如下规则能装多少水: 我的解法&优解 解题思路 如下图所示,最终的临界点,从左到最高点和从右到最高点,一定是递增的。因此,从两端往中间遍历即可。 代码 class Solution { public: int trap(vector<int>&a...
2018-04-09 10:33:37 87
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人