1413. 逐步求和得到正数的最小值

image.png

  1. package main
  2. import (
  3. "fmt"
  4. "math"
  5. )
  6. // 需要一个数 和所有数组相加和都保持不小于1
  7. func minStartValue(nums []int) int {
  8. var sum int
  9. var res =1
  10. for _,v:=range nums{
  11. sum +=v
  12. if sum<1{
  13. res = int(math.Max(float64(res),float64(1-sum)))
  14. }
  15. }
  16. return res
  17. }
  18. func main() {
  19. fmt.Println(minStartValue([]int{-3,2,-3,4,2}))
  20. fmt.Println(minStartValue([]int{1,2}))
  21. fmt.Println(minStartValue([]int{1,-2,-3}))
  22. }

image.png