01.前缀和
Last updated
Last updated
let nums: [Int] = [...]
// 前缀和数组
var pSum: [Int] = Array(repeating: 0, count: nums.count)
for i in 0..<nums.count {
if i == 0 {
pSum[0] = nums[0]
}
else {
pSum[i] = pSum[i - 1] + nums[i]
}
}let nums: [[Int]] = [...]
var pSum: [[Int]] = Array(repeating: Array(repeating: 0, count: nums.first?.count ?? 0),
count: nums.count)
for y in 0..<nums.count {
for x in 0..<nums[y].count {
if x == 0 && y == 0 {
pSum[0][0] = nums[0][0]
}
else if x == 0 {
pSum[0][y] = pSum[0][y-1] + nums[x][y]
}
else if y == 0 {
pSum[x][0] = pSum[x-1][0] + nums[x][y]
}
else {
pSum[x][y] = pSum[x-1][y] + pSum[x][y-1] - pSum[x-1][y-1] + nums[x][y]
}
}
}