会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
下一页
2024年7月2日
代码随想录算法训练营第四十四天 | 322.零钱兑换 279.完全平方数 139.单词拆分
摘要: 322.零钱兑换 题目链接 文章讲解 视频讲解 class Solution { public: int coinChange(vector<int>& coins, int amount) { // dp[j]: 表示能凑成面额j所需的最少硬币个数 vector<int> dp(amount +
阅读全文
posted @ 2024-07-02 18:13 深蓝von
阅读(20)
评论(0)
推荐(0)
2024年7月1日
代码随想录算法训练营第四十三天 | 52.携带研究材料 518.零钱总和II 377.组合总和IV 70.爬楼梯
摘要: 完全背包 有N件物品和一个最多能被重量为W的背包,第i间物品的重量为weights[i],价值为value[i],每件物品都有无限个,求解将哪些物品装入背包里,物品价值总和最大 遍历顺序:纯完全背包问题(即求装满背包后的最大价值)先遍历背包先遍历物品都是可以的 和零一背包求解的最大不同就是遍历顺序,
阅读全文
posted @ 2024-07-01 17:46 深蓝von
阅读(20)
评论(0)
推荐(0)
代码随想录算法训练营第四十二天 | 1049最后一块石头的重量II 494.目标和 474.一和零
摘要: 1049.最后一块石头的重量 题目链接 文章讲解 视频讲解 解题思路: 将石头尽量分为相等的两堆,两堆最差即为所求结果 石头的重量就是石头的价值 动规五部曲: dp[j]:表示背包容量为j时可以装的石头的总价值 递推公式:dp[j] = max(dp[j], dp[j-stones[i]] + st
阅读全文
posted @ 2024-07-01 14:24 深蓝von
阅读(37)
评论(0)
推荐(0)
2024年6月18日
代码随想录算法训练营第四十一天 | 0-1背包问题
摘要: 46.携带研究材料 二维数组 题目链接 文章讲解 视频讲解 动态规划五部曲: dp[i][j]:下标i表示背包装0-i的物品(任取),j表示当前背包的最大容量,dp[i][j]表示容量为j时,装0-i的物品的最大价值 递推公式:dp[i][j] = max(dp[i-1][j], dp[i-1][j
阅读全文
posted @ 2024-06-18 16:54 深蓝von
阅读(25)
评论(0)
推荐(0)
2024年6月14日
代码随想录算法训练营第三十八天 | 62.不同路径 63.不同路径II 343.整数拆分 96.不同的二叉搜索树
摘要: 62.不同路径 题目链接 文章讲解 视频讲解 dp[i][j]: 到达(i, j)位置有多少种方法 递推公式:dp[i][j] = dp[i-1][j] + dp[i][j-1] 初始化dp[0][j] = 1只有向右一种走法, dp[i][0] = 1只有向下一种走法; 遍历顺序:从左向右 打印d
阅读全文
posted @ 2024-06-14 22:25 深蓝von
阅读(28)
评论(0)
推荐(0)
代码随想录算法训练营第三十八天 | 509.斐波那契数 70.爬楼梯 746.使用最小花费爬楼梯
摘要: 动态规划理论基础 509.斐波那契数 题目链接 文章讲解 视频讲解 确定dp[i]含义 dp[i]表示第i个斐波那契数的值 递推公式 dp[i] = dp[i - 1] + dp[i - 2] dp数组如何初始化 dp[0] = 1, dp[1] = 1 遍历顺序 从前向后 打印dp数组 class
阅读全文
posted @ 2024-06-14 15:29 深蓝von
阅读(16)
评论(0)
推荐(0)
2024年6月13日
代码随想录算法训练营第三十七天 | 56.合并区间 738.单调递增的数字
摘要: 56.合并区间 题目链接 文章讲解 视频讲解 思路: 按左区间排序; 遍历所有区间,如果当前区间的左边界小于等于上一个区间的右边界,则合并区间(新区间的左边界为上一个区间的左边界,新区间的右边界为上一个区间的有边界和当前区间有边界中较大的一个) class Solution { public: ve
阅读全文
posted @ 2024-06-13 22:35 深蓝von
阅读(27)
评论(0)
推荐(0)
2024年6月12日
代码随想录算法训练营第三十六天 | 406.根据身高重建队列
摘要: 406.根据身高重建队列 题目链接 文章讲解 视频讲解 思路: 先按照身高由大到小排序,如果身高相同,比较人数(由小到大); 按照人数重构数组,将节点插入到合适的位置 class Solution { private: static bool compareByK(vector<int>& lhs,
阅读全文
posted @ 2024-06-12 17:10 深蓝von
阅读(16)
评论(0)
推荐(0)
2024年6月10日
代码随想录算法训练营第三十五天 | 1005.K次取反后最大化的数组和 134.加油站 135.分发糖果
摘要: 1005.K次取反后最大化的数组和 题目链接 文章讲解 视频讲解 思路: 按绝对值从大到小排序 遍历数组,遇到负数,如果次数未用完就取反 最后如果剩余次数未用完且为奇数就将数组最后一个元素取反 class Solution { static bool myCompare(const int& lhs
阅读全文
posted @ 2024-06-10 20:51 深蓝von
阅读(18)
评论(0)
推荐(0)
2024年6月8日
代码随想录算法训练营第三十二天 | 122.买卖股票的最佳时机 55.跳跃游戏 45.跳跃游戏II
摘要: 122.买卖股票的最佳时机II 题目链接 文章讲解 视频讲解 思路: 每次记录当天的股票价格,如果下一天比今天的价钱高那么今天就买,这样保证每一次买股票都是赚的 否则记录下一天的股票,因为下一天的股票比今天的便宜,下一天买比今天买划算 class Solution { public: int max
阅读全文
posted @ 2024-06-08 21:42 深蓝von
阅读(28)
评论(0)
推荐(0)
上一页
1
2
3
4
5
下一页
公告