算法刷怪日记
不浪拉面
这个作者很懒,什么都没留下…
展开
-
刷怪日记-回文链表
【代码】刷怪日记-回文链表。原创 2024-04-26 22:21:13 · 152 阅读 · 0 评论 -
刷怪日记-01 背包理论问题(一维数组实现)
二维数组遍历背包不采用倒序遍历,是因为dp[i] [j]是由其上方推导出来的,并不会覆盖本层dp[i] [j]的值。dp[2] = dp[2 - weight[0]] + value[0] = 15 (dp数组已经都初始化为0)按照上述推导公式,遍历物品i时,发现物品i被放进去俩次,dp[2]等于30。假设物品价值都是大于0的,所以dp数组初始化的时候,都初始为0就可以了。正上方**推导出来,并且每一个维度都可以覆盖上一个维度的值。遍历背包与二维数组方式不一样,一维数组采用倒序方式,主。原创 2024-03-06 10:45:04 · 345 阅读 · 1 评论 -
刷怪日记-01背包理论问题(二维矩阵实现)
本题采用二维数组进行解题,那么dp[i] [j]表示从下标0-i的物品任意选择,放进容量为j背包,价值总合最大是多少。i 表示物品第几个物品,j 表示背包容量大小。原创 2024-03-06 10:23:04 · 648 阅读 · 0 评论 -
刷怪日记-不同路径Ⅱ
动态规划的思想,由上一步状态推出下一步状态,因此在统计到[i, j]格的路径之前,可以先统计[i-1, j]、[i, j-1]的路径,再通过前一步格子求出下一步格子的路径。,假如说在第一行或第一列碰见障碍物(1),其同一行\同一列的后面元素路径数均为0,因为后面走不通啦。矩阵[m, n]的第一行和第一列,均只能单方向前进,因此行进路径只有。若排除上述情况,那么在某格遇见障碍物将该格设置为0。原创 2024-02-29 21:13:35 · 462 阅读 · 0 评论 -
刷怪日记-单调递增的数字
【代码】刷怪日记-单调递增的数字。原创 2024-02-29 21:12:34 · 352 阅读 · 0 评论 -
刷怪日记-用最少数量的箭引爆气球
为了尽可能让气球重叠,需要对数组进行排序,依据[a,b]中a或b排序均可,只是计算不同,本题是对a进行排序。如果气球重叠了,重叠气球中右边界的最小值之前的区间一定需要一个弓箭。贪心算法,局部最优推全局最优。原创 2024-02-29 21:11:54 · 330 阅读 · 0 评论 -
刷怪日记-分发糖果
【代码】刷怪日记-分发糖果。原创 2024-02-25 11:45:42 · 430 阅读 · 1 评论 -
刷怪日记-根据身高重建队列
【代码】刷怪日记-根据身高重建队列。原创 2024-02-25 11:45:06 · 361 阅读 · 1 评论 -
刷怪日记-跳跃游戏
【代码】刷怪日记-跳跃游戏。原创 2024-02-22 23:04:49 · 326 阅读 · 1 评论 -
刷怪日记-重新安排行程
将每个航班的终点站进行对比,小的排前面,从而实现字母小的先使用,比如说初始站相同,那么终点站字母小的就在前面先使用了。回溯遍历的过程中,遇到的机场个数,如果达到了(航班数量+1),那么就找到了一个行程,把所有航班串在一起了。通过used[]数组记录航班使用情况,已使用记录为false,从而避免重复。原创 2024-02-21 23:40:44 · 301 阅读 · 0 评论 -
刷怪日记-修剪二叉搜索树
此题需要采用后序遍历解决,因为可能删除多个节点,如果先序遍历,可能头节点符合删除要求,就直接停止遍历了。原创 2024-01-21 23:36:51 · 328 阅读 · 0 评论 -
刷怪日记-前k个高频元素
【代码】刷怪日记-前k个高频元素。原创 2023-12-29 11:08:34 · 323 阅读 · 1 评论 -
刷怪日记-俩种方式解决滑动窗口最大值
分别使用堆和单调队列去解决滑动窗口最大值原创 2023-12-29 10:55:30 · 366 阅读 · 1 评论