leetcode 3010

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

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

第一段的第一个数是确定的,即 nums[0]。

如果知道了第二段的第一个数的位置,和第三段的第一个数的位置,那么这个划分方案也就确定了。这两个下标可以在 [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;
    }
};
相关推荐
sheji34163 小时前
【开题答辩全过程】以 基于协同过滤算法电影个性化推荐系统设计与实现为例,包含答辩的问题和答案
算法
uesowys3 小时前
Apache Spark算法开发指导-Random forest classifier
算法·随机森林·spark
仙俊红5 小时前
LeetCode487周赛T2,删除子数组后的最终元素
数据结构·算法
-dzk-12 小时前
【代码随想录】LC 59.螺旋矩阵 II
c++·线性代数·算法·矩阵·模拟
风筝在晴天搁浅12 小时前
hot100 78.子集
java·算法
Jasmine_llq12 小时前
《P4587 [FJOI2016] 神秘数》
算法·倍增思想·稀疏表(st 表)·前缀和数组(解决静态区间和查询·st表核心实现高效预处理和查询·预处理优化(提前计算所需信息·快速io提升大规模数据读写效率
超级大只老咪12 小时前
快速进制转换
笔记·算法
m0_7066532312 小时前
C++编译期数组操作
开发语言·c++·算法
故事和你9113 小时前
sdut-Java面向对象-06 继承和多态、抽象类和接口(函数题:10-18题)
java·开发语言·算法·面向对象·基础语法·继承和多态·抽象类和接口