博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
最大数组连续子向量的最大和
阅读量:5947 次
发布时间:2019-06-19

本文共 826 字,大约阅读时间需要 2 分钟。

最近研究最大数组,稍微总结一下,以后继续补充:

    标题:

    Find the contiguous subarray within an array (containing at least one number) which has the largest sum.

    For example, given the array [−2,1,−3,4,−1,2,1,−5,4],

the contiguous subarray [4,−1,2,1] has the largest sum = 6.

    分析:利用扫描算法,从数组最左端开始扫描,一直到最右端,并记下所碰到的最大总和子向量。最大总和的初值为0.

    对于前m个元素,最大总和子数组要么在前m-1个元素中,要么是其结束位置为m。

    每日一道理
春蚕死去了,但留下了华贵丝绸;蝴蝶死去了,但留下了漂亮的衣裳;画眉飞去了,但留下了美妙的歌声;花朵凋谢了,但留下了缕缕幽香;蜡烛燃尽了,但留下一片光明;雷雨过去了,但留下了七彩霓虹。

    还需注意的一种情况是若所有的元素都为负值,则问题转化为求数组中的最大数。

    代码如下:

    int max(int l,int r)

    {

        return (l>r)?l:r;

    }

    int maxSubArray(int A[], int n)

    {

        int TempMax=0,Maxending=0,negative=A[0];

        for(int i=0;i<n;i++)

        {

            Maxending = max(Maxending+A[i],0);

            TempMax = max(TempMax,Maxending);

            if(A[i]>negative)negative=A[i];

        }

        if(negative<0)return negative;

        else return TempMax;

    }

文章结束给大家分享下程序员的一些笑话语录: 联想——对内高价,补贴对外倾销的伟大“民族”企业。

转载地址:http://ylfxx.baihongyu.com/

你可能感兴趣的文章
linux下IPTABLES配置详解
查看>>
Sharepoint学习笔记—习题系列--70-576习题解析 -(Q131-Q134)
查看>>
iOS边练边学--iOS中的(ARC下)单粒模式(GCD实现)
查看>>
php get_magic_quotes_gpc()函数用法介绍
查看>>
SQL to Java code for Elasticsearch
查看>>
Java RMI之HelloWorld程序以及相关的安全管理器的知识
查看>>
FlatBuffers
查看>>
美团HD(5)-选择城市
查看>>
$.when()方法监控ajax请求获取到的数据与普通ajax请求回调获取到的数据的不同
查看>>
pthread_mutex_t
查看>>
LR11.0 下载及破解
查看>>
Java基础-绘图技术
查看>>
又转出61.8万个ETH,EOS不疯狂不成魔
查看>>
程序员面试IT公司的33个小贴士
查看>>
多款C系列手机亮相三星中国论坛,更加注重中国用户体验
查看>>
云南中医学院更名为云南中医药大学
查看>>
人社部:突出就业优先政策主线 全力确保就业局势稳定
查看>>
关键时刻还是要看阿里,达摩院发布自主研发AI芯片
查看>>
「百年育才」计划启动港股IPO,新高考改革下的“志愿填报辅导”市场迎来窗口期?...
查看>>
浅谈高性能数据库集群——读写分离
查看>>