时间限制:1S
空间限制:32768K
题目描述:
给定无序整数序列,求连续子串最大和,例如{-23 17 -7 11 -2 1 -34},字串为{17 -7 11},最大和为21
输入描述:
输入为整数序列,数字用空格分割,如:-23 17 -7 11 -2 1 -34
输出描述:
输出子序列的最大和:21
示例:
输入
-23 17 -7 11 -2 1 -34
输出
21
思路:动规思想,更新遍历到当前位置的最大值,并且每次都判断一下是否大于答案,注意全为负数和一个数这些特殊情况。
如:-2 -1 -3 则输出-1
#include <iostream>
using namespace std;
int max(const int& a, const int& b)
{
return a>b?a:b;
}
int main()
{
int a[10005

该题目来源于滴滴出行2018年校园招聘的研发工程师笔试,要求给定一个无序整数序列,找到连续子串的最大和。例如序列{-23 17 -7 11 -2 1 -34},其连续子串{17 -7 11}的最大和为21。解题思路采用动态规划,维护当前遍历位置的最大值,并比较是否大于全局最大和,处理全负数和单一数的特殊情况。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



