前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >动态规划子数组系列一>环形子数组的最大和

动态规划子数组系列一>环形子数组的最大和

作者头像
用户11305962
发布2024-11-21 16:47:31
发布2024-11-21 16:47:31
640
举报
文章被收录于专栏:学习

 题目:

解析: 

代码:

代码语言:javascript
复制
public int maxSubarraySumCircular(int[] nums) {
        int sum = 0;

        int n = nums.length;
        int[] f = new int[n+1];
        int[] g = new int[n+1];

        int ret = 0, fmax = -0x3f3f3f3f, gmin = Integer.MAX_VALUE;
        for(int i = 1; i <= n; i++){
            int x = nums[i-1];
            f[i] = Math.max(x,f[i-1] + x);
            fmax = Math.max(fmax,f[i]);

            g[i] = Math.min(x,g[i-1]+ x);
            gmin = Math.min(gmin,g[i]);
            sum += x;
        }

        return sum == gmin ? fmax : Math.max(fmax,sum-gmin);
    }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-11-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档