校招真题练习004 给定整数序列求连续子串最大和(滴滴)

给定整数序列求连续子串最大和

题目描述
给定无序整数序列,求连续子串最大和,例如{-23 17 -7 11 -2 1 -34},子串为{17,-7,11},最大和为21

输入描述:
输入为整数序列,数字用空格分隔,如:-23 17 -7 11 -2 1 -34
输出描述:
输出为子序列的最大和:21

 1 import sys
 2 num = list(map(int,input().split()))
 3 n = len(num)
 4 sums = 0
 5 maxval = -sys.maxsize
 6 for i in range(n):
 7     if sums < 0:
 8         sums = num[i]
 9     else:
10         sums += num[i]
11     maxval = max(maxval,sums)
12 print(maxval)

题型:数组

思路:贪心

上一篇:[Leetcode] 560. Subarray Sum Equals K | 和为K的子数组


下一篇:LeetCode.303/304 Range Sum Query(2) - Immutable