`

给定一个整数数组,找出总和最大的连续数列

阅读更多

题目:https://leetcode-cn.com/problems/contiguous-sequence-lcci

给定一个整数数组,找出总和最大的连续数列,并返回总和。

 

示例:

 

输入: [-2,1,-3,4,-1,2,1,-5,4]

输出: 6

解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。

 

解题:

用变量去记录连续数列总和的最大值。

用另一个变量记录当前位置可累积到的总和,若该值需大于0,否则置为0。(此处就是用了动态规划的思想)

即:f(n)=max(f(n-1)+n,0)

 

 

class Solution {
    public int maxSubArray(int[] nums) {
        if(nums==null || nums.length==0){
            return 0;
        }
        int max=nums[0];
        int dp=0;
        for(int i=0;i<nums.length;i++){
            int tmp=dp+nums[i];
            max=Math.max(tmp,max);
            dp=tmp>0?tmp:0;
        }
        return max;
    }
}

 

 

 
分享到:
评论

相关推荐

    数列求和总结

    设\(\{a_n\}\)是一个等差数列,求和\(\sum_{n=1}^{N} a_n\)。 - **方法:**将数列正序和倒序相加,得到的新数列每一项都是相同的,从而可以轻松求出总和。 #### 综合题目解析: 1. **求数列\(\{a_n\}\)的前\(n\)...

    2014届高考数学一轮 知识点各个击破 第五章 课时跟踪检测(三十三)数列的综合应用 文(含解析)新人教A版

    第六题通过解线性方程组,找出数列{an}的通项公式和前n项和Sn的表达式,然后利用绝对值不等式确定n的最小整数值。 第七题涉及到等比数列的前n项和的性质,当S1,2S2,3S3成等差数列时,可以推导出等比数列的公比。 ...

    数列求和.ppt课件PPT课件.pptx

    这个概念涉及到对一系列数值进行加总,以便找出它们的总和。在处理数列求和时,我们通常会遇到两种基本类型的数列:等差数列和等比数列。 等差数列是具有相同差值的数列,其前n项和可以使用公式S_n = n/2 * (a_1 + ...

    高考数学(理)一轮复习讲义 6.1 数列的概念与简单表示法.docx

    例如,通项公式an=3n+5表示的是一个递增数列,其定义域为正整数集合N+。 递推公式则是描述数列中某一项与其前一项或前几项关系的公式,常常用于已知数列的部分项求解整个数列的情况。例如,如果知道数列的第一项a1...

    人教版等差数列选择题专项训练单元质量专项训练试题.pdf

    这类问题可以通过寻找符合这两个条件的最小数开始,然后找出公差(两个相邻数之间的差),从而确定等差数列的通项公式。例如,8是满足条件的最小数,因为它除以3余2,除以5余3,之后每增加15(3和5的最小公倍数),...

    算法-连续整数的和(51Nod-1138)(包含源程序).rar

    在本题中,目标是求解一系列连续整数的和,这可能包括找出一个特定数列的和,或者找到满足特定条件的连续整数序列。 首先,我们需要理解连续整数和的概念。连续整数和是指从某个整数开始,包括这个整数在内,到另一...

    欧拉计划.doc

    给定一个大整数,找出其中连续5个数字的最大乘积。这通常涉及到滑动窗口算法,通过移动窗口在整数中查找最优解。 **关键概念**: - **滑动窗口**:在大整数中移动一个固定大小的窗口,计算窗口内数字的乘积。 - **...

    c语言典型例题c语言典型例题.doc

    这个问题涉及到组合数学和动态规划,目的是找出邮局提供的四种不同面值邮票可以组合成的最大连续区间。由于每个信封上最多可以贴5张邮票,所以可能的邮资是从1到5张邮票面值总和的最大值。为了找出连续区间,可以先...

    CodeCollection:在HackFMI 3期间用于处理开源代码收集想法的存储库-Source code collection

    找出1到n之间所有数字的总和 将数字列表转换为数字 检查给定序列是否单调递增。 检查给定的数字是否包含给定的数字。 检查给定数字是否包含给定列表中的所有数字。 在斐波那契数列中找到第n个数字 检查给定数字是否...

    台州市2023年青少年信息学竞赛复赛试题(初中组)

    **解题思路**:此类题目往往要求将一个数列划分为若干个连续的子序列,使得某个条件得到满足。可以考虑使用贪心算法、动态规划等方法来寻找最优解。 综上所述,这些题目旨在测试学生在算法设计、数据分析等方面的...

    C语言编程题(绝无仅有)

    这段代码实现了一个简单的数列生成器,其中包含一个 for 循环来计算数列中的每一项,并最终输出整个数列的总和。这里的关键知识点包括: - **循环控制**:使用 `for` 循环来控制数列的生成过程。 - **条件判断**:...

    中考数学二轮复习专题练习下探究规律_等差数字型新人教版202003202178

    4. 第四题是找出数列的通项公式,通过观察可以发现数列是一个公差为2的等差数列,所以第n个数是2n。 5. 第五题要求根据给定的正方形面积计算模式推导出一般形式,根据给出的例子,面积S可以表示为4n+2。 6. 第六题...

    java小练习,Java练习小程序,Java必用

    - 给定一个整数数组,找出其中的最大值和最小值。 - 可以使用循环结构遍历数组,并记录下最大值和最小值。 45. **素数判断**: - 判断一个给定的数是否为素数。 - 可以使用循环结构进行判断,并返回判断结果。 ...

    Technical_Interview_Q-s:问题解答

    给定 2 个整数数组,确定第二个数组是第一个数组的旋转版本。 Ex. Original Array A={1,2,3,5,6,7,8} Rotated Array B={5,6,7,8,1,2,3} 以迭代和递归方式编写斐波那契数列(奖励:使用动态编程) 查找数组中仅...

    全国通用2016版高考数学考前三个月复习冲刺第三篇回扣专项练4数列理

    7. 对于数列 an =log(n+1)(n+2),我们要找到一个k,使得 a1·a2·a3·…·ak 为整数。注意到 an 可以写为 log(n+1)(n+2) = log(n+2) - log(n+1),这就是所谓的部分分数分解。当将这些项相乘时,对数项会相互...

    安徽省六安市舒城中学2016年高二数学暑假作业第21天文.doc

    数列是数学中的一个基本概念,由按一定顺序排列的一列数构成,常用于解决实际问题。以下是根据文档内容解析的知识点: 1. 数列的应用: - 通过数列解决实际问题是高中数学的重要部分。例如,问题中的选择题和解...

    c语言常用编程学习

    - 初始化一个最大值变量 max 及其对应的索引 index。 - 遍历数组,寻找最大值及其索引。 - 返回最大值及其索引。 #### 18. 字符串处理 题目要求实现一个函数,该函数接受一个字符串指针 s,将 s 中的所有奇数索引上...

    2021年中考一轮复习九年级数学专题:找规律之数字变化类(二).doc

    8. 数列的排列规律:第8题中正整数的排列形成了一种交错排列,可以找出每行的规律,然后确定2019的位置。 9. 三数之和问题:第9题中,每个方格的数与另外两个连续方格的数之和恒为19,可以分析A+H+M+O的和。 10. ...

    2022年部编人教版五年级数学上册期中考试题【及参考答案】.pdf

    9. 同余问题:给定一个数除以几个数的余数,要求找出满足条件的最小自然数,这需要运用同余方程的解决方法。 10. 平均数的改变:当一个数改变导致平均数上升,我们可以根据平均数的定义来求出原始数值。 二、判断...

    人教一年级数学下册期末检测⑧卷及答案.pdf

    - 理解数列中数的规律,例如找出一个数列中的相邻数。 9. 应用加减法解决实际问题 - 例如分配牛奶盒数是否足够,以及根据给定数量推算缺少或多余的单位。 10. 数据的收集与分析 - 分析一组数据,找出最多和最少...

Global site tag (gtag.js) - Google Analytics