![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
泽露君
无我
展开
-
矩形覆盖如何理解解决
题目描述我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?比如n=3时,2*3的矩形块有3种覆盖方法:这个问题一开始看不知道从何下手,一点点尝试,掌握规律就可以了我们先取第一个位置竖放。那么剩下位置就可以看作n-1时的取值;当第一个位置横放时,那么我们需要从剩下的n-1个中再取一个1个横幅,那么剩下的n-2个就按n-2时的取值。这两种情况相加就是第n个的位置的画法。相当于每次计算n个时,只需要知道n-1个的值和n-2个原创 2020-06-12 17:51:02 · 178 阅读 · 0 评论 -
超级跳台阶的动态规划实现
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。实现方式有很多,可以根据推论用位运算、递归、或者直接用pow方法我这里只要是考虑用动态规划的思路去解决,空间效率不是最好,只是说最近在了解动态规划,所以一题多解嘛public class Solution { public int JumpFloorII(int target) { if(target==0){ return 0;原创 2020-06-01 09:13:41 · 179 阅读 · 0 评论 -
如何理解next数组和获取
# 简介KMP 算法是 D.E.Knuth、J,H,Morris 和 V.R.Pratt 三位神人共同提出的,称之为 Knuth-Morria-Pratt 算法,简称 KMP 算法。该算法相对于 Brute-Force(暴力)算法有比较大的改进,主要是消除了主串指针的回溯,从而使算法效率有了某种程度的提高。提取加速匹配的信息 上面说道 KMP 算法主要是通过消除主串指针的回溯来提高匹配的效...原创 2020-04-16 10:26:58 · 1617 阅读 · 0 评论