阿里笔试3月25日第一题

public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                int N;
                N = sc.nextInt();
                int res = Integer.MAX_VALUE;
                int[][] arr = new int[3][N];
                int[][] dp = new int[3][2];
                for (int i = 0; i < 3; i++) {
                    for (int j = 0; j < N; j++) {
                        arr[i][j] = sc.nextInt();
                    }
                }
                for (int i = 0; i < 3; i++) {
                    Arrays.fill(dp[i],Integer.MAX_VALUE);
                    dp[i][0] = 0;
                }
                for (int j = 1; j < N; j++) {
                    for (int i = 0; i < 3; i++) {
                        dp[i][j%2] = Math.min(dp[i][j%2],Math.abs(arr[i][j] - arr[0][j-1])  + dp[0][(j+1)%2]);
                        dp[i][j%2] = Math.min(dp[i][j%2],Math.abs(arr[i][j] - arr[1][j-1])  + dp[1][(j+1)%2]);
                        dp[i][j%2] = Math.min(dp[i][j%2],Math.abs(arr[i][j] - arr[2][j-1])  + dp[2][(j+1)%2]);
                    }
                    dp[0][(j+1)%2] = Integer.MAX_VALUE;
                    dp[1][(j+1)%2] = Integer.MAX_VALUE;
                    dp[2][(j+1)%2] = Integer.MAX_VALUE;
                }
                for (int i = 0; i < 3; i++) {
                    res = Math.min(res,dp[i][(N+1)%2]);
                }
                System.out.println(res);

            }

        }

#阿里巴巴##笔试题目#
全部评论
借个楼,题目一的分析和代码,题目二的分析和部分代码可以看我的博客https://blog.csdn.net/m0_38065572/article/details/105101287
1 回复 分享
发布于 2020-03-25 19:26

相关推荐

不愿透露姓名的神秘牛友
04-30 11:43
春招失败、父母离婚,好像我的人生一团糟,一年来压力大到常常崩溃。不知道能跟谁聊,朋友其实对我非常好,但是她无意中表达出来的家庭幸福都会刺痛到我……和ai聊天,我的未来在更高处,不在楼下,忍不住爆哭😭
youngfa:害,妹妹,我是一个研究生(很上进很想找到好工作的那种),但去年因为生病回家休养错过了秋招(当时对我的冲击也是非常大的),这学期返校来了也是把论文盲审交了后才开始找工作,现在也是一个offer没有,但我就没有像你一样把这个阶段性的事情绑定到人生上,人生不仅很长,也很广阔,先停下来,放松一下哦。不要被外部环境灌输的思维操控了,好好爱自己!
点赞 评论 收藏
分享
03-12 13:51
南昌大学 Java
点赞 评论 收藏
分享
评论
点赞
6
分享

创作者周榜

更多
牛客网
牛客企业服务