摘要: 题目链接 1031. 两个非重叠子数组的最大和 思路 // TODO 先见注释 代码 class Solution { public int maxSumTwoNoOverlap(int[] nums, int firstLen, int secondLen) { // 求一个前缀和 for(int 阅读全文
posted @ 2023-04-14 10:21 Frodo1124 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 题目链接 1423. 可获得的最大点数 思路 通过逆向思维来考虑,因为我们是从两头拿数字,所以最终剩下的数字一定是位于中间的连续子数组。 因为数组总和不变,所以求两边数字加和的最大值,实际上就是求中间数字加和的最小值 代码 class Solution { public int maxScore(i 阅读全文
posted @ 2023-04-14 09:51 Frodo1124 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 题目链接 53. 最大子数组和 思路 分析动态规划题目的时候只需要考虑最后一个阶段,因为所有的阶段转化都是相同的,考虑最后一个阶段容易发现规律 在数组的动态规划问题中,一般 dp[i] 都是表示以 nums[i] 为结尾的状态;dp[i][j] 分别表示 以 nums1[i] 和 nums2[j] 阅读全文
posted @ 2023-04-14 09:06 Frodo1124 阅读(39) 评论(0) 推荐(0) 编辑