差分数组的用处

本文介绍了在解决leetcode的1109. 航班预订统计问题时,如何运用差分数组来简化算法。差分数组是通过对数组中每一项减去前一项得到的差值数组,常用于处理区间元素加或减相同数值的问题。通过在差分数组上进行操作,可以将原数组区间[n,m]中所有元素加或减num的操作简化为仅修改两个元素,提高了效率。最后,可以通过遍历差分数组还原原数组。" 95198328,8075015,C/C++位域详解:定义、符号扩展与使用技巧,"['C++', '位操作', '数据结构', '编译原理']
摘要由CSDN通过智能技术生成

今天做leetcode     1109. 航班预订统计  算法题时发现解题可用差分数组,一番查询了解后对其进行简单的总结,希望以后能够合理运用

差分数组即数组内每一项值减去前一项值的差值所得到的一个数组

比如数组[2,4,3,6,8]所对应的差分数组为[0,2,-1,3,2]

令b[i]=a[i+1]-a[i],一次遍历(for循环)就可以求得

差分数组作为一个辅助数组使用,一般用于数组内区间元素加或减相同数值的情况

当给原数组区间[n,m]中所有元素加上3时,差分数组的n项将加3(c[n]+=3)和m+1项将减3(c[m+1]-=3)

即原数组[n,m]区间加num

差分数组c中,c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值