funcsubarraySum(nums []int, k int)int{
cnt :=0
n :=len(nums)for i :=0; i < n; i++{
sum :=0for j := i; j < n; j++{
sum += nums[j]if sum == k {
cnt++}}}return cnt
}
type NumArray struct{
preSums []int}funcConstructor(nums []int) NumArray {
n :=len(nums)
sums :=make([]int, n+1)
sum :=0for i :=0; i < n; i ++{
sum += nums[i]
sums[i+1]= sum
}return NumArray{sums}}func(this *NumArray)SumRange(left int, right int)int{return this.preSums[right+1]- this.preSums[left]}
funcpivotIndex(nums []int)int{var sum int
n :=len(nums)
preSums :=make([]int, n+1)// 计算前缀和for i :=1; i <= n; i++{
sum += nums[i-1]
preSums[i]= sum
}for i :=0; i < n; i++{if preSums[i]== preSums[n]- preSums[i+1]{return i
}}return-1}