牛客网真题-52-精灵鼠入口到出口

精灵鼠从入口到出口的最少减少速度

http://www.nowcoder.com/questionTerminal/6171d3a8748248248c21a3c8f330396d

二维dp,复杂度o(n^2),和斐波那契数列一样,当前源自两步,要么来自上,要么来自左。
流式编程处理输出输出。

import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args){
        Scanner s = new Scanner(System.in);
        int n = Integer.parseInt(s.nextLine());
        int[][] ints = new int[n][n];
        for(int i = 0; i < n; i++){
            ints[i] = Arrays.stream(s.nextLine().split(",")).parallel().mapToInt(Integer::parseInt).toArray();
        }
        //        System.out.println(Arrays.deepToString(ints));
        int[][] dp = new int[n][n];
        for(int i = 0; i < n; i++){
            for(int j = 0; j < n; j++){
                if(i - 1 < 0 && j - 1 < 0){
                    dp[i][j] = ints[i][j];
                }else if(i - 1 < 0){
                    dp[i][j] = dp[i][j - 1] + ints[i][j];
                }else if(j - 1 < 0){
                    dp[i][j] = dp[i - 1][j] + ints[i][j];
                }else{
                    dp[i][j] = Math.min(dp[i - 1][j], dp[i][j - 1]) + ints[i][j];
                }
            }
        }
        System.out.println(dp[n - 1][n - 1]);
    }
}
全部评论

相关推荐

06-06 03:40
已编辑
电子科技大学 Java
在秋招的小白菜很想养修勾:一眼 苍穹外卖+谷粒商城,项目换一换吧,可以找一些付费知识星球博主带带,避免烂大街。多投投大厂,背背八股,你这学历乱杀了,等实习经验到位,到时候大厂闭眼选
投递美团等公司8个岗位
点赞 评论 收藏
分享
Southyeung:我说一下我的看法(有冒犯实属抱歉):(1)简历不太美观,给我一种看都不想看的感觉,感觉字体还是排版问题;(2)numpy就一个基础包,机器学习算法是什么鬼?我感觉你把svm那些写上去都要好一点。(2)课程不要写,没人看,换成获奖经历;(3)项目太少了,至少2-3个,是在不行把网上学习的也写上去。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务