[LeetCode] 96. Unique Binary Search Trees

[LeetCode] 96. Unique Binary Search Trees

题目描述给定一个正整数 n , 1 到 n 组成的数能有多少种二叉搜索数二叉搜索树满足左孩子小于跟节点,有孩子大于根结点的规律。解法一当根节点确定的情况下,左子树和又子树的节点数求和为 n-1 个 而且共有 n 种分配方法,当分配方案确定之后,原问题可以分解左子树的个数 * 右子树的个数。class Solution { public: int numTrees(int n) { vector<int> dp(n+1, 0); if (n==1 || n==0){ return 1; } ...

编程 2020-01-09 PM 16℃ 0条
[LeetCode]72. Edit Distance

[LeetCode]72. Edit Distance

原题链接Given two words word1 and word2, find the minimum number of operations required to convert word1 to word2.虽然题目出现的地方比较多了,看到英文的描述有清晰了几分,把 word1 转换成 word2 的最少操作次数,所有的操作都是针对word1 的确定这个才比较好理解下面每种情况对应的是替换还是删除和增加dpi 表示 word1[:i] 和 word2[:j] 直接的最小编辑距离,word1[i] == word2[j]dpi = dpi-1word1[i] != word[j...

编程 2020-01-08 PM 7℃ 0条
[LeetCode] 70. Climbing Stairs

[LeetCode] 70. Climbing Stairs

题目描述原题链接You are climbing a stair case. It takes n steps to reach to the top.Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?【中文】你正在爬 n 级楼梯, 每次可以选择走一步或者两步,一共有多少种走法Note: Given n will be a positive integer.【中文】给定的输入是是一个正整数 n【例子一】:Input: 2Output: 2Expla...

编程 2020-01-07 PM 12℃ 0条
[LeetCode] 63. Unique Paths II

[LeetCode] 63. Unique Paths II

这题是62 的变种, 输入一个 m 行 n 列的二维数组,其中为1 的表示遇到障碍,不能通行,求机器人从左上角走到右下角有几种走法解题思路还是动态规划,并没太大变化,唯一不同的是 遇到任何1 的点 dpi = 0 下面的代码有个小问题,paths 里存的是 long , 主要是 leetcode 存 int 会报错,其实并没错。class Solution { public: int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) { int m = obsta...

编程 2020-01-07 PM 17℃ 0条
[LeetCode] 62. Unique Paths

[LeetCode] 62. Unique Paths

题目一机器人在 m 列 n 行的网格的左上角,机器人每次只能向下或向右移动一个格子,移动到右下角的格子有多少条路径上图是一个 7 列 3 行的示例图注意: m 和 n 小于 100例子1:Input: m = 3, n = 2 Output: 3 Explanation: From the top-left corner, there are a total of 3 ways to reach the bottom-right corner: 1. Right -> Right -> Down 2. Right -> Down -> Right 3. Down ...

编程 2020-01-06 PM 11℃ 0条