最大子阵列和

最大和子数组问题在于找到数组或整数列表中的连续子序列的最大和:

maxSequence([-2, 1, -3, 4, -1, 2, 1, -5, 4])
// should be 6: [4, -1, 2, 1]

简单的情况是当列表仅由正数组成时,最大和是整个数组的总和。如果列表仅由负数组成,则返回0。

空列表被认为具有零最大和。请注意,空列表或数组也是有效的子列表/子阵列。

var maxSequence = function(arr){
var max=0;
if(arr.length==0){
return 0;
}
for(var i=0;i<arr.length;i++){
var sum=arr[i];
for(var j=i+1;j<arr.length;j++){
sum+=arr[j];
if(sum>max){
max=sum;

}
}
}
return max;
}

思路:通过循环可以获取arr中所有的值,先设置一个最大值,给数组中的每一位从前向后增加的计算,每一次计算都对比这个值与最大值的大小,即可得到最大子阵列和



最大子阵列和

时间: 2024-10-02 18:24:03

最大子阵列和的相关文章

643. Maximum Average Subarray I 最大子阵列平均数

Given an array consisting of n integers, find the contiguous subarray of given length k that has the maximum average value. And you need to output the maximum average value. Example 1: Input: [1,12,-5,-6,50,3], k = 4Output: 12.75Explanation: Maximum 

编程之美2.13 最大子阵列产品

      这个问题是目前正在寻求 n-1 最大的产品编号.该数组的大小 n.它会存在 n 一个 n-1 连续数.然后,我们需要找到一个最大的产品.       事实上看到题目,感觉非常easy,循环走两遍数组就能够得到结果,可是,那样的话,复杂度是平方量级的,假设一个数组中元素非常多.那么,时间效率上是不能接受的.所以,须要又一次思考问题.寻找简洁的解法.       这里.我们能够利用辅助数组的办法,把须要乘在一起的数字保存下来.单独的放到数组中,然后乘在一块就能够了.这样说起来事实上不是那

21 最大子阵列 @计蒜客

题目地址 http://nanti.jisuanke.com/t/21 就是求最大子串和,不过通常当最大和 < 0 时,题目要求将最大和置为 0 ,这道题则要求求最大和(可以为负值) 经典的动态规划算法,没有办法处理全是负数的情况.所以只需多加一个变量记录序列的最大值即可. # include <stdio.h># include <iostream>using namespace std; int ans[1010]; int main(){    int t;    sc

软件工程课程作业(四)--返回一个整数数组中最大子数组的和

伙伴链接:http://www.cnblogs.com/haoying1994/ 一.设计思想 本实验要求输入一个正负数混合的整型数组,长度不限,在此数组的所有子数组中找到和最大的数组,并求出相应数组的和,且时间复杂度为O(n).我们在课堂上共同讨论了多种解决方案,这些将在下面可能的解决方案中展示,在听了同学的思路和老师的讲解之后, 我们最终选取了老师课堂上描述的比较简便的思路.如下: 在输入数组的环节,采用for无限循环加if判断截止,直到触发回车键为止,将数组记录到Array中,数组长度记录

SERVERAID 8K和8K-L阵列卡在添加新硬盘时会丢失阵列配置信息

客户有一台IBM X3400需要扩容本地硬盘,去之前以为和IBM x3650M4等服务器类似,就没有多查资料,到现场后发现阵列卡型号是SERVERAID 8K,整个配置界面与x3650M4 的webbios配置阵列卡完全不同,没敢贸然操作,上网查了查资料,一些注意的地方和大家分享一下. 使用ARC配置ServeRAID_8k-l8k8i图文手册,已经上传到这里http://down.51cto.com/data/1357299 适用机型: 所有System x3400; 所有System x35

lincode.41 最大子数组

最大子数组 描述 笔记 数据 评测 给定一个整数数组,找到一个具有最大和的子数组,返回其最大和. 注意事项 子数组最少包含一个数 您在真实的面试中是否遇到过这个题? Yes 哪家公司问你的这个题? Airbnb Amazon LinkedIn Cryptic Studios Dropbox Apple Epic Systems TinyCo Yelp Hedvig Zenefits Uber Snapchat Yahoo Microsoft Bloomberg Facebook Google T

【linux相识相知】独立硬盘冗余阵列-RAID

独立硬盘冗余阵列(RAID,Redundant Array of Independant Disks),旧称为廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks).1987年美国加州伯克利分校的一篇名为<A Case for Redundant Arrays of Inexpensive Disk(RAID)>论文诞生,这标志着RAID技术的开始. 那么什么是RAID呢?简单的来讲就是把多个硬盘组合起来,成为一个硬盘阵列组,操作系统会把它当做是一个硬盘,

数据结构习题记录(1)——最大子列和问题

题目: 给定KK个整数组成的序列{ N_1N?1??, N_2N?2??, ..., N_KN?K?? },"连续子列"被定义为{ N_iN?i??, N_{i+1}N?i+1??, ..., N_jN?j?? },其中 1 \le i \le j \le K1≤i≤j≤K."最大子列和"则被定义为所有连续子列元素的和中最大者.例如给定序列{ -2, 11, -4, 13, -5, -2 },其连续子列{ 11, -4, 13 }有最大的和20.现要求你编写程序,计

RAID阵列

RAID阵列 一. RAID简介 RAID全称为Redundant Array of Disks,是"独立磁盘冗余阵列"(最初为"廉价磁盘冗余阵列")的缩略语.1987年由Patterson,Gibson和Katz在加州大学伯克利分院的一篇文章中定义.RAID阵列技术允许将一系列磁盘分组,以实现为数据保护而必需的数据冗余,以及为提高读写性能而形成的数据条带分布.RAID最初用于高端服务器市场,不过随着计算机技术的快速发展,RAID技术已经渗透到计算机遍布的各个领域.