递归
c++
Crystal_Coding
这个作者很懒,什么都没留下…
展开
-
leetcode140. 单词拆分 II/记忆化dfs
文章目录题目:140. 单词拆分 II基本思想1:普通dfs(超时)基本思想2:记忆化dfs 题目:140. 单词拆分 II 给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。 说明: 分隔时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 示例 1: 输入: s = "catsanddog" wordDict = ["cat", "cats", "and", "sand", "d原创 2020-11-19 15:36:06 · 234 阅读 · 0 评论 -
剑指offer——矩形覆盖
题目描述 我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 题目分析 n=1,f(1)=1 n=2,f(2)=2,两个2x1的小矩形都横着放或者都竖着放 n=3,f(3)=f(3-1)+f(3-2),当第一个小矩形竖着放时,还剩2x2个大矩形,有f(2)种放法;当第一个小矩形横着放时,还剩2x1个大矩形,有f(1)种放法。...原创 2019-10-20 19:22:42 · 88 阅读 · 0 评论 -
变态跳台阶
题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 题目分析 参考剑指offer:f(n)=2n-1 完整代码 class Solution { public: int jumpFloorII(int number) { return pow(2,number-1); } }; 他人题解 参考:...原创 2019-10-20 19:09:13 · 83 阅读 · 0 评论 -
剑指offer——跳台阶
题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 题目分析 斐波那契数列的应用。 n=1时,只有一种跳法 n=2时,有两种跳法,一次跳两个台阶或者一次跳一个台阶跳两次。 那么跳n级台阶,把跳法看成关于n的函数,f(n).当n>2时,第一次跳一级台阶,此时的跳法数目等于后面n-1级台阶的跳法数目,有f(n-1)种跳...原创 2019-10-20 18:56:58 · 83 阅读 · 0 评论