最新内容

第六十九天-动态规划(dp动态规划)

1.maven项目包结构:dao层和db交互,dao层上一层上service层,service再上一层是controller层,util包存放工具类,vo-view objectvalue object,封装pojo,pojo数据库对象,common存放常量2.Arrays.fill()设置数组初始值3.343. 整数拆分给定一个正整数 n ,将其拆分为 k …

动态规划算法帮我通关了“魔塔”(动态规划算法介绍)

读完本文,可以去力扣解决如下题目:174.地下城游戏(Hard)「魔塔」是一款经典的地牢类游戏,碰怪物要掉血,吃血瓶能加血,你要收集钥匙,一层一层上楼,最后救出美丽的公主。现在手机上仍然可以玩这个游戏:嗯,相信这款游戏承包了不少人的童年回忆,记得小时候,一个人拿着游戏机玩,两三个人围在左右指手画脚,这导致玩游戏的人体验极差,而左右的人异常快乐 力扣第 174 …

系统设计 | 限流算法及其周边(限流技术)

概述限流,其基础含义为对流量进行限制,其既包括在速率上的限制,又包括在资源上的限制,这里主要讨论的是对速率进行限制。本文分为三部分,第一部分中我们将讨论在做限流前必须要弄清的问题:为什么要去做限流限流的具体含义和指标第二部分将具体探讨互联网上流行的限流算法;并在第三部分中学习它们在常用的限流中库中的高效实现,最后再简单的讨论下分布式限流的问题阅读本文只需要基 …

动态规划之状态定义和状态转移 House Robber

前面的文章介绍了动态规划可以解决重叠子和最优子结构问题,分别用了暴力破解、记忆化搜索、动态规划的方式解决。要知道函数意义的定义及其方法的实现是求解问题的重中之重,状态定义对应的就是函数的意义,状态转移对应的是函数的实现,不同的函数定义就有不同的函数实现。下面将用leetcode的House Robber来介绍动态规划的状态定义和状态转移。一、题意及分析1、题 …

动态规划一(动态规划一定要递归吗)

动态规划算法中在所有的基础算法中是比较难以理解的算法,可能需要通过几篇文章来聊一聊。 动态规划的算法常有一堆名词比如最优子结构,动态转移方程,导致的理解起来难度更大,直到我看到网上有一篇关于动态规划的套路,比在极客时间里面学习的动态规划算法更简单。通过这么长的时间的算法学习,了解到算法发明特别是牛逼的算法比如BM算法等,大多数不是一蹴而就的,都是在前人基础上 …

刷leetcode——打家劫舍(打家劫舍打一动物生肖)

这次准备连讲三道题,这道题就是最基础的,利用动态规划可以解决。原题你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 :输入 …

第五十四天-树形问题,SQL(树结构sql语句)

学习笔记:1.时间戳,查业务问题的后悔药,create_time:数据创建时间,update_time:数据更新时间2.回溯法采用试错的思想,它尝试分步的去解决一个问题。在分步解决问题的过程中,当它通过尝试发现现有的分步答案不能得到有效的正确的解答的时候,它将取消上一步甚至是上几步的计算,再通过其它的可能的分步解答再次尝试寻找问题的答案3.剪枝策略就是在搜索 …

三步问题算法解答(三步计算应用题是什么意思)

三步问题介绍有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶或3阶。实现一种方法,计算小孩有多少种上楼梯的方式。方法1:递归基线条件:没有台阶,0种上楼梯的方式。1个台阶,1种上楼梯的方式。2个台阶,2种上楼梯的方式。3个台阶,4种上楼梯的方式。子问题分析:那么小孩有多少种方法走到第n阶台阶呢?我们可以通过以下三种方式走到第n阶台阶。在第n-1处 …