2022-05-06:给你一个整数数组 arr,请你将该数组分隔为长度最多为 k 的一些(连续)子数组。分隔完成后,每个子数组的中的所有值都会变为该子数组中的最大值。...返回将数组分隔变换后能够得到的元素最大和。
注意,原数组和分隔后的数组对应顺序应当一致,也就是说,你只能选择分隔数组的位置而不能调整数组中的顺序。...解释:
因为 k=3 可以分隔成 1,15,7 2,5,10,结果为 15,15,15,9,10,10,10,和为 84,是该数组所有分隔变换后元素总和最大的。...答案2022-05-06:
从左往右的尝试模型。0到i记录dpi。
假设k=3,分如下三种情况:
1.i单个一组dpi=i+dpi-1。
2.i和i-1一组。
3.i和i-1和i-2一组。...[];
for _i in 0..n {
dp.push(0);
}
dp[0] = arr[0];
for i in 1..n {
dp