0
点赞
收藏
分享

微信扫一扫

【】差分专题讲解


总结

  • 如果涉及到一整个区间值的频繁修改,那么就需要考虑使用差分数组了。
    相关例题有:
  • ​​1109.航班预订统计​​
  1. 得分最高的最小轮调 【这题不会写】

例题一

1. 题目

【】差分专题讲解_算法

2. 分析

差分数组的表示:​​diff[i] = arr[i]-arr[i-1]​​​。这就表示当前值减去上一个值,​​diff[0]= arr[0]​​。

  • step1. 得到差分数组,当我们得到差分数组后,
  • step2. 如果是对整个区间的修改,可以简化成只对区间端点的修改,这样就可以简化算法复杂度。

3. 代码

1.题目

【】差分专题讲解_leetcode_02


【】差分专题讲解_算法复杂度_03

2.分析

差分数组经典模板题了。

3.代码

class Solution:
def corpFlightBookings(self, bookings: List[List[int]], n: int) -> List[int]:
diff = [0] *(n+2)
# 利用差分数组求解
for i in range(len(bookings)):
left,right,num = bookings[i]
diff[left]+=num
diff[right+1] -= num
ans = [0] * (n+2)
for i in range(1,len(diff)):
ans[i] = ans[i-1] + diff[i]
return ans[1:-1]


举报

相关推荐

差分&C++差分函数

差分

差分、微分、变分

前缀和与差分:798. 差分矩阵

浅谈差分和差分数组

差分约束系统

树上差分详解

0 条评论