算法1:时间复杂度大并且不是很能理解,故不作展示

算法2:

int MaxSubseqSum2(int A[], int N)
{
    int ThisSum, MaxSum = 0;
    int i, j, k;
    for (i = 0; i<N; i++) //i是子列左端位置
    {
        ThisSum = 0;    //ThisSum是从A[i]到A[j]的子列和
        for (j = i; j<N; j++)    //j是子列右端位置
        {
            ThisSum += A[j];
            if (ThisSum > MaxSum) //如果刚得到的这个子列和更大
            {
                MaxSum = ThisSum; //则更新结果
            }
            } //j循环结束
        } //i循环结束
    return MaxSum;
}

时间复杂度n*n

算法3:分而治之

时间复杂度nlogn

算法4:在线处理 每次输入一个值则立即计算

int MaxSubseqSum4(int A[], int N)
{
    int ThisSum, MaxSum;
    int i;
    ThisSum = MaxSum = 0;
    for (i=0; i < N; i++)
    {
        ThisSum += A[i];
        if (ThisSum > MaxSum)
        {
            MaxSum = ThisSum;
        }
        else if (ThisSum < 0)
        {
            ThisSum = 0;
        }
    }
    return MaxSum;
}

转载于:https://www.cnblogs.com/zhaoy-shine/p/10904329.html

数据结构:最大子序列和相关推荐

  1. 数据结构与算法--分治算法-最大子序列和问题

    分治算法 用于设计算法的一种常用技巧–分治算法(divide and conquer).分治算法由两部分组成: 分(divide):递归然后借机较小的问题(基础情况除外) 治(conquer):然后从 ...

  2. 【树状数组】递增子序列(金牌导航 数据结构优化DP-1)

    递增子序列 金牌导航 数据结构优化DP-1 题目大意 给出一个序列,让你求长度为m的单调递增子序列的个数 输入样例 3 2 1 1 2 7 3 1 7 3 5 9 4 8 输出样例 2 12 数据范围 ...

  3. 【恋上数据结构】动态规划(找零钱、最大连续子序列和、最长上升子序列、最长公共子序列、最长公共子串、0-1背包)

    动态规划(Dynamic Programming) 练习1:找零钱 找零钱 - 暴力递归 找零钱 - 记忆化搜索 找零钱 - 递推 思考题:输出找零钱的具体方案(具体是用了哪些面值的硬币) 找零钱 - ...

  4. 【恋上数据结构】贪心(最优装载、零钱兑换、0-1背包)、分治(最大连续子序列和、大数乘法)

    贪心.分治 贪心(Greedy) 问题1:最优装载(加勒比海盗) 问题2:零钱兑换 零钱兑换的另一个例子 贪心注意点 问题3:0-1背包 0-1 背包 - 实例 一些习题 分治(Divide And ...

  5. 数据结构与算法——给定整数A1,A2,....An,....(可能有负数),求该数据序列的最大子序列的和

    求最大的子序列和问题 给定整数A1,A2,....An,....(可能有负数),求该数据序列的最大子序列的和. 比如:输入-2, 11, -4, 13, -5, -2: 答案是20(11,-4,13三 ...

  6. python【数据结构与算法】动态规划详解从背包到最长公共子序列(看不懂你来打我)

    文章目录 1 引入 2 01背包 3 完全背包问题 4 多重背包问题 5 最长公共子序列 1 引入 0-1背包问题是最广为人知的动态规划问题之一,拥有很多变形.尽管在理解之后并不难写出程序,但初学者往 ...

  7. 【算法与数据结构】最大子序列和问题

    (转载请注明出处:http://blog.csdn.net/buptgshengod) 1.题目 给定一个数字序列,其中有正有负,确定最大子序列和.用穷举法最好的结果也是时间复杂度O(n²).后来看到 ...

  8. 数据结构 - 字符串 - 最长公共子序列 + 最长公共子字符串 - 动态规划

    最长公共子序列 /*** 最长公共子序列* 参考链接:http://blog.csdn.net/biangren/article/details/8038605* Created by 18710 o ...

  9. 数据结构与算法专题——第三题 最长公共子序列

    一:作用 最长公共子序列的问题常用于解决字符串的相似度,是一个非常实用的算法,作为码农,此算法是我们的必备基本功. 二:概念 举个例子,cnblogs这个字符串中子序列有多少个呢?很显然有27个,比如 ...

  10. 最长递增子序列_python_算法与数据结构

    周末了,实验室的网速还是不给力啊,不知道doctors都在干啥,,,最近都在做算法作业,昨天晚上看了一部电影<将爱进行到底>,刚打开电影没多久就听到了很熟悉的旋律,让我很是惊讶,这竟然就是 ...

最新文章

  1. error40无法打开到sql_SQL入门学习,初步认识ADO
  2. Android性能优化典范第六季
  3. 在线教学生计算机,计算机系统基础—廖浩德老师—在线教学的先行者
  4. 地理文本处理技术在高德的演进(上)+
  5. 伪代码block转换成程序流程图_程序设计基础
  6. 记录几条简单的正则表达式
  7. 学习sql注入:猜测数据库_学习SQL:删除和更新数据SQL最佳实践
  8. JAVA + LR实现apache流媒体的性能测试
  9. 实习成长之路:操作系统——CPU有哪些工作模式呢?
  10. 贴片二极管正负极如何区分
  11. opencv中关于cvtColor函数性能测试
  12. 2021年的放假安排正式官宣!五一连休5天哦!
  13. Win10上如何显示本地lrc文件歌词——lrc播放器——《超级lrc播放器》
  14. 口语语汇单词篇(7)
  15. 打开netlogo model 出现failed to launch JVM
  16. linux 快速启动应用程序(alias使用)
  17. 抖音视频限流了怎么解决,如何才能解决限流问题
  18. BZOJ - 4810 [Ynoi2017]由乃的玉米田 莫队算法 + bitset 大暴力
  19. 如何用 AppCube,实现那个曾经因为火,而被“封杀”的项目 Working Time丨【玩转应用魔方】
  20. 零基础转码:CS 61A自学笔记——week 1.1

热门文章

  1. 四、jquery中的事件与应用
  2. 【bzoj1086】 scoi2005—王室联邦
  3. ASP隐藏文件地址,并在下载时替换文件名
  4. 基于Android平台的流媒体播放器的设计
  5. 简单的相似图片搜索的原理
  6. Android Studio相见恨晚的操作锦集
  7. Android:动态加载布局
  8. 深入剖析Redis系列(三) - Redis集群模式搭建与原理详解
  9. Laravel 引入自定义类库或第三方类库
  10. 《CUDA C编程权威指南》——3.4 避免分支分化