day96(2.25)——leetcode面试经典150

53. 最大子数组和

53. 最大子数组和

题目:

题解:

java 复制代码
class Solution {
    public int maxSubArray(int[] nums) {
        //当前选自己 or 接着加,全局取最大
        //贪心+一维动态规划
        //当前最优解,全局最优解
        int currentRes = nums[0];
        int maxRes = nums[0];
        for(int i=1;i<nums.length;i++) {
            currentRes = Math.max(currentRes+nums[i], nums[i]);
            maxRes = Math.max(currentRes, maxRes);
        }
        return maxRes;
    }
}

918. 环形子数组的最大和

918. 环形子数组的最大和

题目:

题解:

java 复制代码
class Solution {
    public int maxSubarraySumCircular(int[] nums) {
        int minCurRes = nums[0], maxCurRes = nums[0];
        int minRes = nums[0], maxRes = nums[0];
        int total = nums[0];
        for(int i=1;i<nums.length;i++) {
            minCurRes = Math.min(minCurRes+nums[i], nums[i]);
            minRes = Math.min(minRes, minCurRes);
            
            maxCurRes = Math.max(maxCurRes+nums[i], nums[i]);
            maxRes = Math.max(maxRes, maxCurRes);
            
            total+=nums[i];
        }

        //说明全是负数
        if(maxRes < 0) {
            return maxRes;
        }

        return Math.max(maxRes, total-minRes);
    }
}
相关推荐
kyriewen12 小时前
我手写了一个 EventEmitter,面试官追问了 6 个问题——第 4 个我没答上来
前端·javascript·面试
先吃饱再说13 小时前
判断回文字符串,从一行代码到双指针优化
算法
她的男孩13 小时前
后台接口加密别只会 HTTPS,ForgeAdmin 的 RSA + SM4/AES 源码拆解
后端·面试·开源
Randyliu14 小时前
20260508-Agent搭建记录以及对ReAct框架的理解
面试·agent
ZzT15 小时前
公司用 AI 筛简历,他写了个 AI 帮你挑公司
面试·aigc·ai编程
黄敬峰15 小时前
深入理解算法核心:从递归思想、数组扁平化到快速排序
算法
PBitW15 小时前
GPT训练我的第四天,被打惨了!!!😭😭😭
前端·javascript·面试
得物技术17 小时前
从狂野代码到按目标生产:得物推荐 AI Harness 的工程化实践|AICon 演讲整理
人工智能·算法·架构
AI小老六20 小时前
SkillOpt 架构拆解:把 Skill 文本当参数,用执行轨迹训练 Agent
后端·算法·ai编程