题目链接:铺设道路
递推:f(i) 表示前i个坑需要铺设的最少天数,a[i]表示第i个坑的深度
初始条件: f(1) = a[1]
递推式:
①a[i]<=a[i-1] : f[i] = f[i-1]
②a[i]>a[i-1] : f[i] = f[i-1] + a[i] - a[i-1];
java代码:
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int n;
Scanner in = new Scanner(System.in);
n = in.nextInt();
int a[] = new int[n];
for(int i=0;i<n;++i)
a[i] = in.nextInt();
int f[] = new int[n];
f[0] = a[0];
for(int i=1;i<n;++i) {
if(a[i]<=a[i-1]) f[i] = f[i-1];
else f[i] = f[i-1] + a[i] - a[i-1];
}
System.out.println(f[n-1]);
}
}