差分

package week03;

public class 一维差分 {

static int []arr = {1,3,7,5,2};
static int []d = new int[arr.length + 1];
public static void add(int l, int r, int v)
{
d[l] = d[l] + v;
d[r + 1] = d[r + 1] - v;
}

public static void main(String[] args) {




add(2,4,5);
add(1,3,2);
add(0,2,-3);

for (int i = 1; i < 5;i++)
{
d[i] += d[i-1];
}

for(int i = 0; i < 5; i ++)
{
arr[i] += d[i];
System.out.print(arr[i] + " ");
}


}
}
posted @ 2022-01-16 20:32  爽爽子的秃头生活  阅读(8)  评论(0)    收藏  举报