leetcode 3010

3010: 将数组分成最小总代价的子数组Ⅰ

题意:把数组分成三段,每一段取第一个数求和,问和的最小值是多少。

第一段的第一个数是确定的,即 nums0

如果知道了第二段的第一个数的位置,和第三段的第一个数的位置,那么这个划分方案也就确定了。这两个下标可以在 1,n−1 中随意取。

所以问题变成求下标在 1,n−1 中的两个最小的数。

复制代码
class Solution {
public:
    int minimumCost(vector<int>& nums) {
        sort(nums.begin()+1,nums.end());
        int ans=nums[0]+nums[1]+nums[2];
        return ans;
    }
};
相关推荐
Selvaggia5 分钟前
DMD(Distribution Matching Distillation,分布匹配蒸馏)
算法
Navigator_Z20 分钟前
LeetCode //C - 1255. Maximum Score Words Formed by Letters
c语言·算法·leetcode
All for pursuit.24 分钟前
【栈-4】739.每日温度
数据结构·c++·算法·leetcode
开开心心就好1 小时前
安卓手写文字生成工具,多种纸张一直免费
网络·网络协议·tcp/ip·leetcode·智能手机·电脑·模拟退火算法
All for pursuit.1 小时前
【栈-5】84.柱状图中最大的矩形
数据结构·c++·算法·leetcode
wzdark1 小时前
数据压缩算法的时间复杂度与压缩率权衡4
算法
小陈phd1 小时前
深入理解agent学习笔记(一)——现代agent介绍
人工智能·算法
渡我白衣1 小时前
HttpRequest与HttpResponse的实现
服务器·数据结构·c++·人工智能·tcp/ip·机器学习·caffe
圣保罗的大教堂1 小时前
leetcode 1665. 完成所有任务的最少初始能量 中等
leetcode
晴天的雨.9924 小时前
【C++算法】和为s的两个数
开发语言·数据结构·c++·算法