250926 thinking 差分
1. 简介
对于一个数组a,构造的这样的一个数组d称为a的差分数组:
2. 性质
- 对d构造前缀和数组得到a
- 对于a的一个下标区间[i,j)对应的元素统一加上一个数
c后,则对应的d的变化为:d[i](now)=>d[i](prev)+cd[j](now)=>d[j](prev)-c。
也就是说,差分数组的构造可以将一个区间的变化映射为两个元素的变化。
在实际操作时,还要注意j==a.length,此时超出d索引范围(因为在前面的构造中d.length==a.length)。因此为了方便,通常让d.length=a.length+1,即设置一个dummy。
3. 例题
go参考解法:(by 灵神)
1 | func isZeroArray(nums []int, queries [][]int) bool { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Elian's blog page!