这一题应该是有问题的.... 题干说要控制成本,难道不是求最小值吗?最后给的例子却是求最大值... 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];     }