这一题应该是有问题的.... 题干说要控制成本,难道不是求最小值吗?最后给的例子却是求最大值... public int func(int[] nums, int m) { int n = nums.length; int[][] f = new int[n + 1][m + 1]; for (int i = 0; i <= n; i++) { Arrays.fill(f[i], Integer.MIN_VALUE); //如果求最小值,改成MAX_VALUE } int[] sub = new int[n + 1]; for (int i = 0; i < n; i++) { sub[i + 1] = sub[i] + nums[i]; } f[0][0] = 0; for (int i = 1; i <= n; i++) { for (int j = 1; j <= Math.min(i, m); j++) { for (int k = 0; k < i; k++) { int val = (sub[i] - sub[k])*(sub[i] - sub[k]); f[i][j]=Math.max(f[i][j],f[k][j-1]+val); //如果求最小值,改成Math.min } } } return f[n][m]; }
1 4

相关推荐

11-03 13:18
门头沟学院 Java
包行:平时怎么刷算法题的哇,字节的手撕听说都很难
字节跳动工作体验
点赞 评论 收藏
分享
秋招投简历提醒助手:个人经验是,一般面二十场左右就会进入侃侃而谈阶段。我今年七月末的时候开始的第一次面试,都是很多不会,回复很慢。后面慢慢迭代,到九月中的时候基本上面啥说啥,很放松的状态
远程面试的尴尬瞬间
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务