[leetcode]差分算法

一.差分算法性质

1.1计算差分数组:

b[i] = a[i] - a[i - 1]

1.2差分数组的性质

1.2.1对差分数组的每一项作前缀和,可以得到原来的数组

ai = ​a1​+∑j=1i−1​dj​

1.2.2将差分数组的某一项加i,那么其后面的所有项都会相对于原数组加i

让2~4项加3

这个第三行的数组是让原数组的2~4的数值加3。

举个例子:

这张图展示的为原数组。

这张图的第一行的数组代表给原数组的第2到4项元素的数值加3。相当于我们在第二行的差分数组的第2项加了3,而我们不希望第五项的值有变化,我们就让第五项的值减3。

1.3一维差分Coding:

二.二维差分算法

2.1二维差分算法的性质

相关推荐
樱花的浪漫5 分钟前
大模型推理框架基础概述
人工智能·算法·机器学习·语言模型·自然语言处理
朝朝又沐沐9 小时前
算法竞赛阶段二-数据结构(36)数据结构双向链表模拟实现
开发语言·数据结构·c++·算法·链表
薰衣草23339 小时前
一天两道力扣(6)
算法·leetcode
剪一朵云爱着10 小时前
力扣946. 验证栈序列
算法·
遇见尚硅谷10 小时前
C语言:*p++与p++有何区别
c语言·开发语言·笔记·学习·算法
天天开心(∩_∩)10 小时前
代码随想录算法训练营第三十二天
算法
YouQian77210 小时前
(AC)缓存系统
算法·缓存
艾莉丝努力练剑10 小时前
【数据结构与算法】数据结构初阶:详解排序(二)——交换排序中的快速排序
c语言·开发语言·数据结构·学习·算法·链表·排序算法
科大饭桶11 小时前
数据结构自学Day13 -- 快速排序--“前后指针法”
数据结构·算法·leetcode·排序算法·c
李永奉11 小时前
C语言-流程控制语句:for循环语句、while和do…while循环语句;
c语言·开发语言·c++·算法