假装完全是自己想出来的,嗯。。
题目:鹅厂实习生笔试。。虽然我没投。。但还是帮小伙伴做题了。。
深搜超时,那就DP
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] height = new int[n];
for(int i = 0; i < n; i++) {
height[i] = sc.nextInt();
}
if(n <= 2) {
System.out.println(0);
return;
}
int[][] matrix = new int[n+1][2];
matrix[0][0] = 0;
matrix[0][1] = 0;
matrix[1][0] = height[0];
matrix[1][1] = 0;
for(int i = 2; i <= n; i++) {
matrix[i][0] = Math.min(matrix[i-1][0] + height[i-1], matrix[i-1][1] + height[i-1]);
matrix[i][1] = Math.min(matrix[i-1][0], matrix[i-2][0]);
}
int ans = Math.min(matrix[n][0], matrix[n][1]);
ans = Math.min(ans, matrix[n-1][0]);
System.out.println(ans);
}
}