求一个整数数组最大子数组之和,时间复杂度为N
2014-03-19 12:38
295 查看
#include<iostream.h> int main () { int b[10]={-10,-22,-45,-85,-44,-76,-58,-9,-10,-23}; int i,max=b[0],sum=0; for(i=0;i<10;i++) { if(sum<=0) { sum=b[i]; } else { sum=sum+b[i]; } if(sum>max) { max=sum; } } cout<<"最大的子数组之和为:"<<max<<endl; return 0; } // max赋值为数组第一个元素 sum初始为0 sum然后依次累加,累加一次,就与max比较一次, 如果sum累加值小于0,则不继续累加,当前元素则赋值给sum,sum则继续。。。 直到循环结束。 则,max为最大的子数组之和
成员:信1205 李志岩 信1205 张新宇 信1205 杨康
相关文章推荐
- 一个整形数组,数组里有正数也有负数。 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和,求所有子数组的和的最大值,要求时间复杂度为O(n)。
- 输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个 子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。
- 题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个 子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为 O(n)。
- 求一个二维整数数组最大子数组之和,时间复杂度为N^2
- 百度笔试:给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。 要求:空间复杂度O(1),时间复杂度为O(n)
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。 要求:空间复杂度O(1),时间复杂度为O(n)。
- 如何判断一个整数数组中是否有重复元素?要求时间复杂度O(n),空间复杂度O(1)
- 假如一个数组存储了一个股票,在一天交易窗口内各时间点的股票价格(正整数),只允许一次买入和一次卖出,请提供一个算法,计算出通过买入和卖出可以得到的最大利润
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。要求:空间复杂度O(1),时间复杂度为O(n)
- 输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所 有偶数位于数组的后半部分。要求时间复杂度为O(n)。
- 求一个整型数组的最大和的子数列,要求时间复杂度为线性的
- 如何判断一个整数数组中是否有重复元素?要求时间复杂度O(n),空间复杂度O(1)
- 求解一个数组里等于给定整数和的两个数的O(n)时间复杂度算法
- 如何判断一个整数数组中是否有重复元素?要求时间复杂度O(n),空间复杂度O(1)
- 如何判断一个整数数组中是否有重复元素?要求时间复杂度O(n),空间复杂度O(1)
- 假如一个数组存储了一个股票,在一天交易窗口内各时间点的股票价格(正整数),只允许一次买入和一次卖出,请提供一个算法,计算出通过买入和卖出可以得到的最大利润
- 判断一个整数数组中是否有重复数字出现的O(n)时间复杂度算法
- 编写一个PHP函数。求任意n个正负整数里面最大的连续和,要求算法时间复杂度尽可能低
- 求解一个数组里等于给定整数和的两个数的O(n)时间复杂度算法
- 已知一个整数数组A[n],写出算法实现将奇数元素放在数组的左边,将偶数放在数组的右边。要求时间复杂度为O(n)。