题解 | #最小花费爬楼梯#
最小花费爬楼梯
https://www.nowcoder.com/practice/9b969a3ec20149e3b870b256ad40844e
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; public class Main { static BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); static PrintWriter out = new PrintWriter(new PrintWriter(System.out)); static String[] lines; public static void main(String[] args) throws IOException { lines = in.readLine().split(" "); int n = Integer.parseInt(lines[0]); int [] nums = new int[n]; lines = in.readLine().split(" "); for (int i = 0; i < n; i++) { nums[i] = Integer.parseInt(lines[i]); } long[] dp = new long[n]; dp[0] = nums[0]; dp[1] = nums[1]; for (int i = 2; i < n ; i++) { dp[i] = Math.min(dp[i-1],dp[i-2])+nums[i]; } out.println(Math.min(dp[n-1],dp[n-2])); out.flush(); out.close(); } }