2019年12月25日

变态跳台阶(剑指offer_10.4)

摘要: 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级...它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 解题思路 动态规划 public int JumpFloorII(int target) { int[] dp = new int[target]; Arrays.fill(d 阅读全文

posted @ 2019-12-25 14:58 Hebye 阅读(193) 评论(0) 推荐(0) 编辑

跳台阶(剑指offer_10.3)

摘要: 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级台阶总共有多少种跳法。 解题思路 当 n= 1时,只有一种跳法: 当n=2时,有两种跳法: 跳n阶台阶,可以先跳1阶台阶,再跳n-1阶台阶;或者先跳2阶台阶,再跳n-2阶跳阶。而n-1和n-2阶台阶的跳法可以看成子问题,该问 阅读全文

posted @ 2019-12-25 14:27 Hebye 阅读(161) 评论(0) 推荐(0) 编辑

矩形覆盖(剑指offer_10.2)

摘要: 题目描述 我们可以用2*1的小矩形横着或者竖着取覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 解题思路 当n为1时,只有一种覆盖方法: 当 n 为 2 时,有两种覆盖方法: 要覆盖 2*n 的大矩形,可以先覆盖 2*1 的矩形,再覆盖 2*(n-1) 的 阅读全文

posted @ 2019-12-25 14:10 Hebye 阅读(143) 评论(0) 推荐(0) 编辑

斐波那契数列(剑指offer_10.1)

摘要: 题目描述 求斐波那契数列的第n项,n <=39。 解题思路 如果使用递归求解,会重复计算一些子问题。例如,计算f(4)需要计算f(3)和f(2),计算f(3)需要计算f(2)和f(1),可以看到f(2)被重复计算了。 递归是将一个问题划分为多个子问题求解,动态规划也是如此,但是动态规划会把子问题的解 阅读全文

posted @ 2019-12-25 13:24 Hebye 阅读(265) 评论(0) 推荐(0) 编辑

导航