问题出在最后一层台阶不是终点,还需要再上一个台阶,所以要再来一次Math.min(dp[n-1]+cost[n-1],dp[n-2]+cost[n-2])
import java.util.Scanner;
public class q2 {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
String s = scanner.next();
String[] strs = s.split(",");
int n = strs.length;
int[] cost = new int[n];
for (int i = 0; i < n; i++) {
cost[i] = Integer.parseInt(strs[i]);
}
int dp[] = new int[n];
dp[0] = 0;
dp[1] = 0;
for (int i = 2; i < n; i++) {
dp[i] = Math.min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2]);
}
System.out.print(Math.min(dp[n-1]+cost[n-1],dp[n-2]+cost[n-2]));
}
}