LeetCode 3010. 将数组分成最小总代价的子数组 I 详细技术解析(含多版优化代码+测试验证)
一、问题描述(清晰复刻,直击考点)
给定一个长度为n的整数数组nums,需要将其划分为3 个连续且没有交集的子数组。每个子数组的代价定义为该子数组的第一个元素,请返回所有合法划分方案中,总代价的最小值。
核心约束
3 ≤ n ≤ 50(数据规模极小,暴力枚举完全可行)
1 ≤ nums[i] ≤ 50(元素均为正整数,不影响最小值选择逻辑)
子数组要求:连续、无交集、恰好3个(缺一不可)
示例解析(结合题意,加深理解)
示例 1
输入:nums = [1,2,3,12]
输出:6
解析:最佳划分为[1]、[2]、[3,12],总代价 = 1(第一个子数组首元素)+ 2(第二个子数组首元素)+ 3(第三个子数组首元素)= 6。
其他方案对比:
[1]