首页 > 试题广场 >

求连续子数组的最大和

[编程题]求连续子数组的最大和
  • 热度指数:9354 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
一个非空整数数组,选择其中的两个位置,使得两个位置之间的数和最大。
如果最大的和为正数,则输出这个数;如果最大的和为负数或 0 ,则输出 0

数据范围: ,数组中的值满足

输入描述:
3,-5,7,-2,8


输出描述:
13
示例1

输入

-6,-9,-10

输出

0
头像 牛客题解官
发表于 2020-06-04 15:08:03
精华题解 题目难度:二星 考察点:字符串、动态规划 方法1:暴力 1.分析: 根据题意进行暴力计算,即枚举一个区间的起始位置i和结束位置j,然后计算区间[i,j]之间的和sum,一共是n*(n+1)/2个区间,在这么多区间的和选出一个最大值作为结果输出即可。但是这里有一个比较难的就是输入的是 展开全文
头像 诗云panther
发表于 2021-08-29 08:36:35
include<stdio.h> int max(int a,int b){ return a>b?a:b;}int main(){ int in[10000]; int n=0; bool isAll_=true; do{ scanf( 展开全文
头像 白伟仝
发表于 2020-05-07 11:20:31
import java.util.*; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); String[] s = s 展开全文
头像 codewind
发表于 2020-05-26 09:19:10
前缀 import java.util.Scanner; import java.util.stream.Stream; public class Main{ public static void main(String[] args) { Scanner sc = new 展开全文
头像 赫he
发表于 2024-04-13 15:50:47
#include <iostream> #include <vector> using namespace std; vector<int> a; int main() { int x = 0; char c; int p = 1; 展开全文
头像 laglangyue
发表于 2020-05-28 22:19:44
动态规划o(n^2) F(n)=max(F(n-1),包含第n项的连续子数组) 累加求和,从第0项开始增加,当累加和小于0时,记录此时解,累加和归0,从新开始作加法。import java.util.Arrays; import java.util.Scanner; public class Ma 展开全文