60 / 205
LeetCode · EasyOson10 ball· ~15 daqiqa

Minimum Value to Get Positive Step by Step Sum

Sizga butun sonlardan iborat nums massivi berilgan. startValue dan boshlang va nums elementlarini chapdan o'ngga birinchisi bilan qo'shing.

Quyidagi shart bajarilishi uchun zarur bo'lgan minimal musbat startValue ni toping:

  • Har bir qadamdagi oraliq yig'indi (step by step sum) kamida 1 ga teng bo'lsin.
example.go
func solve(nums []int) int {
    // ...
}

Misollar

kod
Input: nums = [-3,2,-3,4,2]
Output: 5
Tushuntirish:
startValue = 5 bilan:
5 + (-3) = 2 >= 1
2 + 2 = 4 >= 1
4 + (-3) = 1 >= 1
1 + 4 = 5 >= 1
5 + 2 = 7 >= 1
kod
Input: nums = [1,2]
Output: 1
kod
Input: nums = [1,-2,-3]
Output: 5

Maslahatlar

  1. Kerakli startValue qiymati oraliq yig'indining eng past (eng manfiy) nuqtasiga bog'liq ekanini o'ylang.
  2. nums bo'ylab yurib joriy yig'indini hisoblang va u qancha pastga tushsa ham eng kichik qiymatni saqlab boring; javob — shu eng kichik qiymatni 1 dan ayirib, teskari ishora bilan olish, ya'ni 1 - min.