元素和最小的山形三元组.18103310

Problem: 2908. 元素和最小的山形三元组 I

思路

先记录每个元素左边的最小数与右边的最小数。统计所有符合条件的数的最小值

复杂度

时间复杂度:

$O(n)$

空间复杂度:

$O(n)$

Code

class Solution {
public:
    int minimumSum(vector<int>& nums) {
        int n=nums.size();
        vector<int>left(nums.size());
        vector<int>right(nums.size());
        left[0]=nums[0];
        right[n-1]=nums[n-1];
        for(int i=1;i<n-1;i++){
            left[i]=min(nums[i-1],left[i-1]);
        }
        for(int i=n-2;i>=1;i--){
            right[i]=min(nums[i+1],right[i+1]);
        }
        int res=INT_MAX;
        for(int i=1;i<n-1;i++){
            if(nums[i]>left[i]&&nums[i]>right[i]){
                res=min(res,nums[i]+left[i]+right[i]);
            }
        }
        if(res==INT_MAX)    return -1;
        return res;
    }
};
posted @   认真游泳的鱼  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示