![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
文章平均质量分 56
银光闪电
这个作者很懒,什么都没留下…
展开
-
力扣刷题第七天 分割数组的最大值
给定一个非负整数数组nums和一个整数k,你需要将这个数组分成k个非空的连续子数组。设计一个算法使得这k个子数组各自和的最大值最小。原创 2024-01-22 10:50:34 · 380 阅读 · 0 评论 -
力扣刷题第五天 使数组和小于等于x的最小时间
对于第 j 个元素,我们可以选择对其进行操作或者不操作,由此可以得到状态转移方程:dp[j][i]=max(dp[j−1][i],dp[j−1][i−1]+nums2[j−1]×i+nums1[j−1])最终结果应为nums1的和加上nums2的和再减去可以消掉的最大数目。第 2 秒,我们对 i = 1 进行操作,得到 nums1 = [0+1,0,6+3] = [1,0,9]。第 3 秒,我们对 i = 2 进行操作,得到 nums1 = [1+1,0+2,0] = [2,2,0]。原创 2024-01-19 15:48:23 · 415 阅读 · 0 评论 -
力扣刷题第二天 统计整数数目(每天一题)
通常 x 可以取 0∼9 中的任意一个数字,但当第 n−1 位到第 i+1 位放置的数字都与 num 一样时,x 的取值范围缩小至 0∼num[i],在代码中,当 limit 为 true 时,表示这一特殊情况发生。= −1,则直接返回 d[i][j],否则在 0∼9 范围内遍历 x,并递归调用 dfs(i−1,j+x,false),统计所有返回值的和并更新 d[i][j]。需要注意的是,由于上文中第 n−1 位表示数字的最高位,第 0 位表示数字的最低位(即个位),因此需要将题目中输入的数字翻转。原创 2024-01-16 14:28:07 · 850 阅读 · 0 评论