75 / 205
LeetCode · EasyOson10 ball· ~15 daqiqa

Range Sum Query - Immutable

Sizga butun sonlardan iborat nums massivi berilgan. left va right indekslari orasidagi (ikki tomonlama ham kiritilgan) elementlarning yig'indisini hisoblaydigan funksiya yarating.

Masalan, sumRange(nums, left, right) funksiyasi nums[left] + ... + nums[right] qiymatini qaytarishi kerak.

example.go
func solve(nums []int, left int, right int) int {
    // ...
}

Misollar

kod
Input: nums = [-2,0,3,-5,2,-1], left = 0, right = 2
Output: 1
Tushuntirish: sumRange(0, 2) = -2 + 0 + 3 = 1
kod
Input: nums = [-2,0,3,-5,2,-1], left = 2, right = 5
Output: -1
kod
Input: nums = [-2,0,3,-5,2,-1], left = 0, right = 5
Output: -3

Maslahatlar

  1. Bu masalada faqat bitta so'rov bo'lgani uchun murakkab prefiks-yig'indi tuzilmasi shart emas — oddiy tsikl yetarli.
  2. left dan right gacha (ikkalasi ham kiritilgan holda) tsikl yurgizib, oraliqdagi barcha elementlarni bitta yig'indiga qo'shib chiqing.