关注
第一题我的思路就是新建个二维arr数组,取arr[i+1][j]和arr[i][j+1]+arr2[i][j+2]的最小值,
可是只通过了 40%
public class solution1 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int[][] arr=new int[n][n];
for(int i=0;i<n;i++){
String s=sc.next();
String[] str=s.split(",");
int[] num=new int[n];
for(int k=0;k<n;k++){
num[k]=Integer.valueOf(str[k]);
}
arr[i]=num;
}
int[][] arr2=new int[n][n];
for(int i=n-2;i>=0;i=i-2){
for(int j=n-1;j>=0;j--){
if(j>=n-2){
if(i==n-2){
arr2[i][j]=arr[i+1][j];
}else{
arr2[i][j]=arr2[i+2][j]+arr[i+1][j];
}
}else{
if(i==n-2){
arr2[i][j]=Math.min(arr[i+1][j],arr[i][j+1]+arr2[i][j+2]);
}else{
arr2[i][j]=Math.min(arr[i+1][j]+arr2[i+2][j],arr[i][j+1]+arr2[i][j+2]);
}
}
}
}
int min=Integer.MAX_VALUE;
for(int i=0;i<n;i++){
min=Math.min(arr2[0][i],min);
}
System.out.println(min);
}
}
查看原帖
点赞 评论
相关推荐
查看18道真题和解析
点赞 评论 收藏
分享
牛客热帖
正在热议
# 25届秋招总结 #
530022次浏览 5411人参与
# 运营每日一题 #
21290次浏览 367人参与
# 百融云创开奖 #
38362次浏览 541人参与
# 我的求职思考 #
4293640次浏览 57865人参与
# 你上一次加班是什么时候? #
24127次浏览 196人参与
# 牛客激励计划 #
32431次浏览 810人参与
# 数字马力求职进展汇总 #
124407次浏览 1102人参与
# 职场情商大赛 #
18125次浏览 199人参与
# 我的论文进展 #
11070次浏览 147人参与
# 正在实习的你,几点下班 #
58033次浏览 431人参与
# 晒一晒我的offer #
10177755次浏览 107460人参与
# 秋招结束之后的日子 #
8647次浏览 81人参与
# 听劝,这个公司值得去吗 #
337029次浏览 1365人参与
# 同事找你打听工资怎么办 #
7618次浏览 69人参与
# 我的成功项目解析 #
226738次浏览 5600人参与
# 面试时最害怕被问到的问题 #
105372次浏览 1832人参与
# 字节跳动工作体验 #
232373次浏览 3174人参与
# 运营人的第一份offer应该如何选 #
89934次浏览 900人参与
# 与leader意见不合怎么办 #
2900次浏览 31人参与
# 打工人的至爽时刻or至暗时刻 #
20986次浏览 171人参与
# 机械人选offer,最看重什么? #
60479次浏览 403人参与