题解 | #最小花费爬楼梯#

最小花费爬楼梯

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();
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务