一、前言:什么是动态规划

用一句话概括:走一步看一步。用一个生动例子来跟大家说!爬楼梯~~~

假设你现在正在爬楼梯,楼梯有 n 级。每次你只能爬 1 级或者 2 级,那么你有多少种方法爬到楼梯的顶部?

这个问题怎么解呢?身为理工男,凡事没有表达式不能解决的!  首先我们先设F(n)是爬n级楼梯的方法数量。

因为其中我们只能爬1级或2级。所以我们到达n级的之前的一步肯定是n-1级或者n-2级!

所以当我们走到n级的时候,就看走到n-1和n-2的方法,这就是走一步看一步!

我们就可以列出美丽的公式了:F(n)=F(n-1)+F(n-2)   n>2

初始值是F(1)=1 F(2)=1  然后for就可以计算走每一级的总数了!!!!  这那么简单!  千万比要想的太难!!

二、动态规划:自己的总结

1.递归和动态规划都是将原问题拆成多个子问题然后求解,他们之间最本质的区别是,动态规划保存了子问题的解,避免重复计算。

2.动态规划,比较通俗的解法,搞一个dp数组,存之前的结果(什么总数,什么次数啊)

  但是很多情况都可以将这个数组换成两个变量(记录变化),节约空间复杂度

3.动态规划=穷举+剪枝

一般情况 都会嵌套两层for循环dp[][];如果dp[]那么就是一个for,状态转移。,去找每个状态点与之前每个状态点的区别,取最利于我们的情况放入dp数组。在循环的时候如果dp数组+1了,那么for要<=。初始化还是要分情况。不同情况初始化不同值,多看例题

4.说到什么序列,很容易就是动态规划,尤其是那种还有加了条件的序列更容易成为动态规划的对象,因为条件会存在一个值,然后就是逮着这个值进行比较,之后进行下一步

三、一切理论都源于实践,多刷题领悟其中精髓才能真正掌握!

四、动态规划相关的面试高频题目录

1.爬楼梯(力扣 70) 斐波那数列                  博主的笔记思路及代码讲解:https://blog.csdn.net/qq_40262372/article/details/112750362

2.打家劫舍II(力扣213)  斐波那数列           博主的笔记思路及代码讲解:https://blog.csdn.net/qq_40262372/article/details/112750623

3.不同的路径(力扣62)矩形路径                 博主的笔记思路及代码讲解:https://blog.csdn.net/qq_40262372/article/details/112750705

4.等差数列划分(力扣413)数组区间           博主的笔记思路及代码讲解:https://blog.csdn.net/qq_40262372/article/details/112750803

5.整数拆分(力扣343)分割整数                  博主的笔记思路及代码讲解:https://blog.csdn.net/qq_40262372/article/details/112750889

6.解码方法(力扣91)分割整数                    博主的笔记思路及代码讲解:https://blog.csdn.net/qq_40262372/article/details/112750979

五、各种类型的高频面试题汇总:

https://blog.csdn.net/qq_40262372/article/details/112556249

六、如有疑问可加QQ群讨论:725936761     博主免费答疑
欢迎大家一起讨论进步。后续遇到相似的题会继续更新!

为了鼓励大家坚持,当天打卡人数超过一半,群主发一个红包(群主是学生),激励大家坚持下去!希望以后找工作的时候大家能互捞一下~~~

群里已有字节、滴滴大佬,可帮忙内推!也欢迎其他大厂的工作人士进群!帮忙内推~

B站视频讲解如何三个月学习JAVA拿到实习Offer:

https://www.bilibili.com/video/BV1dV411t71K

快速突破面试算法之动态规划篇相关推荐

  1. Java入门算法(动态规划篇2:01背包精讲)

    本专栏已参加蓄力计划,感谢读者支持❤ 往期文章 一. Java入门算法(贪心篇)丨蓄力计划 二. Java入门算法(暴力篇)丨蓄力计划 三. Java入门算法(排序篇)丨蓄力计划 四. Java入门算 ...

  2. 算法复习——动态规划篇之最长公共子序列问题

    算法复习--动态规划篇之最长公共子序列问题 以下内容主要参考中国大学MOOC<算法设计与分析>,墙裂推荐希望入门算法的童鞋学习! 1. 问题背景 子序列:将给定序列中零个或多个元素(如字符 ...

  3. 算法复习——动态规划篇之钢条切割问题

    算法复习--动态规划篇之钢条切割问题 以下内容主要参考中国大学MOOC<算法设计与分析>,墙裂推荐希望入门算法的童鞋学习! 1. 问题背景 钢铁切割: ​ 现有一段长度为10的钢条,可以零 ...

  4. Java入门算法(动态规划篇1:初识动规)

    本专栏已参加蓄力计划,感谢读者支持❤ 往期文章 一. Java入门算法(贪心篇)丨蓄力计划 二. Java入门算法(暴力篇)丨蓄力计划 三. Java入门算法(排序篇)丨蓄力计划 四. Java入门算 ...

  5. 【算法】【动态规划篇】第3节:数字三角形问题

    本期任务:介绍算法中关于动态规划思想的几个经典问题 [算法][动态规划篇]第1节:0-1背包问题 [算法][动态规划篇]第2节:数字矩阵问题 [算法][动态规划篇]第3节:数字三角形问题 [算法][动 ...

  6. 【算法】【动态规划篇】第5节:剪绳子问题

    本期任务:介绍算法中关于动态规划思想的几个经典问题 [算法][动态规划篇]第1节:0-1背包问题 [算法][动态规划篇]第2节:数字矩阵问题 [算法][动态规划篇]第3节:数字三角形问题 [算法][动 ...

  7. python程序员面试算法宝典 pdf_Python面试宝典之基础篇3

    Python面试宝典之基础篇-03 题目011:Python中为什么没有函数重载? 点评:C++.Java.C#等诸多编程语言都支持函数重载,所谓函数重载指的是在同一个作用域中有多个同名函数,它们拥有 ...

  8. Java入门算法(贪心篇)丨蓄力计划

    本专栏已参加蓄力计划,感谢读者支持 往期文章 一. Java入门算法(贪心篇)丨蓄力计划 二. Java入门算法(暴力篇)丨蓄力计划 三. Java入门算法(排序篇)丨蓄力计划 四. Java入门算法 ...

  9. NOI入门级:算法之动态规划

    糖糖讲动态规划算法,找零钱完全背包问题,LeetCode 322 糖糖讲动态规划算法,找零钱完全背包问题,LeetCode 322_哔哩哔哩_bilibili 程序员面试再也不怕动态规划了,看动画,学 ...

  10. 程序员面试金典——番外篇之下一个较大元素I

    程序员面试金典--番外篇之下一个较大元素I Solution1:我的答案,时间复杂度为O(n2)O(n2)O(n^2) 垃圾算法 class NextElement { public:vector&l ...

最新文章

  1. python实现http请求并发_Python使用grequests并发发送请求
  2. QT的QCameraInfo类的使用
  3. 做过《战神》《死亡搁浅》的光子动捕专家,怎么理解动捕?
  4. linux grpc,grpc linux下的编译使用-Go语言中文社区
  5. 一个引发程序员们干架的问题
  6. oracle rac ora 12547,oracle11g RAC 下DBCA建库失败:ORA-12547: TNS:lost contact
  7. FreeRTOS 任务计数信号量,任务二值信号量,任务事件标志组,任务消息邮箱
  8. 谁先看到苏神咬人? 世界杯直播背后的云
  9. atitit.自己动手开发编译器and解释器(1) ------词法分析--attilax总结
  10. vs2013 旗舰版 密钥
  11. Mybatis的缓存
  12. Go开发的程序如何使用加密狗保护
  13. Escape HDU - 3533
  14. addition过程 sgnb_5G-NSA接入流程分析及问题定位四步法
  15. HUSTOJ超级详细部署文档
  16. Python中基于TCP网络通信协议的多人聊天室
  17. 浅谈CPU位数和操作系统位数
  18. SAP-MM知识精解-常见报表汇总(01)
  19. IDM无法找到服务器magnet IDM服务器禁止访问此文件
  20. ubuntu安装显卡驱动的三种方法

热门文章

  1. Struts Menu中基于角色的权限管理
  2. IntelliJ IDEA创建JavaWeb项目
  3. 前端-----今日份小练习
  4. pyqt5 tablewidget 设置行高_Python+PyQt5基础开发(10)
  5. lr分析器的设计与实现实验_【重读经典/译文】Facebook广告排序模型:LR+GBDT
  6. h5保存图片到手机_如何快速制作一个【H5】作品?
  7. python狗屁不通文章生成器_狗屁不通文章生成器,哈哈哈
  8. MATLAB--求解矩阵方程
  9. DL_C2_week1_1(Initialization)神经网络模型的初始化
  10. 极客大学产品经理训练营 产品文档和原型 作业5