求最小的起始正整数

题目描述

给你一个整数数组 nums 。你可以选定任意的 正数 startValue 作为初始值。

你需要从左到右遍历 nums 数组,并将 startValue 依次累加上 nums 数组中的值。

请你在确保累加和始终大于等于 1 的前提下,选出一个最小的 正数 作为 startValue 。

输入格式:

第一行,一个正整数n,表示数组的大小 第二行,n个整数,每个数之间用空格隔开

输出格式

一个整数

示例一

输入

5

-3 2 -3 4 2

输出

5

n=int(input())
nums=list(map(int,input().split()))# map惰性求值
startValue=1
while 1:
    sum = startValue
    for i in range(n):
        sum+=nums[i]
        if sum<1:
            startValue += 1
            break
    else:
        print(startValue)
        break

 

你可能感兴趣的:(#,程序设计竞赛题,算法,数据结构,leetcode,python)