阿里笔试3.25 我可能真的是个菜狗吧

明明感觉很简单,自己测了一下也可以,牛客上一直提示数组越界,我哪里越界了我丢!!!!附上代码,求大家看看,第二题直接没做,凉了凉了

static int res=Integer.MAX_VALUE;
    public static int getMin(int [][]matrix) {
        if(matrix==null || matrix.length!=3 || matrix[0].length<2 )return 0;
//        int dp[]=new int[3];
        for(int i=0;i<3;i++) {
            backtrack(matrix, matrix[0].length, 0,i , 0, 1);
        }
        return res;

    }
    //r上次第几行,c上次第几列
    public static void backtrack(int [][]matrix,int n,int count,int r,int c,int j) {
        if(j==n) {
            res=Math.min(res, count);
            return;
        }

        for(int i=0;i<3;i++) {
            //if(count>Integer.MAX_VALUE-Math.abs(matrix[r][c]-matrix[i][j]))
            backtrack(matrix, n, count+Math.abs(matrix[r][c]-matrix[i][j]), i, j,j+1);
        }
    }
#阿里笔试2020##阿里巴巴##笔试题目#
全部评论
第一题10分钟ac代码 #include<bits/stdc++.h> using namespace std; const int maxn=1e5+5; typedef long long ll; ll a[maxn][5]; ll dp[maxn][5]; int main(){     int n;     cin>>n;     for(int i=1;i<=3;i++){         for(int j=1;j<=n;j++){             scanf("%lld",&a[i][j]);         }     }     memset(dp,0x3f3f3f3f,sizeof(dp));     dp[1][1]=0;     dp[1][2]=0;     dp[1][3]=0;     for(int i=2;i<=n;i++){         for(int j=1;j<=3;j++){             dp[i][1]=min(dp[i][1],dp[i-1][j]+abs(a[j][i-1]-a[1][i]));             dp[i][2]=min(dp[i][2],dp[i-1][j]+abs(a[j][i-1]-a[2][i]));             dp[i][3]=min(dp[i][3],dp[i-1][j]+abs(a[j][i-1]-a[3][i]));         }     }     ll ans=min(dp[n][1],min(dp[n][2],dp[n][3]));     cout<<ans<<endl;     return 0; } 第二题没给我反馈: 正确性不确定 https://pasteme.cn/31272
1 回复 分享
发布于 2020-03-25 17:16
我哭了,抗压能力太差,明明感觉很简单的题.... 爱面不面吧...我不想去了
点赞 回复 分享
发布于 2020-03-25 17:22
我一个变量名写错然后自乱阵脚调了半个多小时…也是第二题没做 第一题ac10%…枯了
点赞 回复 分享
发布于 2020-03-25 17:13
可能得需要long long吧
点赞 回复 分享
发布于 2020-03-25 17:12

相关推荐

程序员牛肉:1.大头肯定是院校问题,这个没啥说的。 2.虽然有实习,但是实习的内容太水了,在公司待了七个月的时间,看起来就只做了jwt和接入redis。爬取新闻,数据导入。这几个需求值得你做七个月吗?这不就是三四个月的工作量吗?我要是面试官的话真心会认为你能力不太行。所以既然有实习了,一定要好好写,像是Swagger这种东西是真没必要写上去,就拉一个包的事情。 3.我个人觉得话,在校生不要把自己当社招看,除非你的项目是特别牛逼,特别有名的含金量,否则不要写这种密密麻麻的一串子工作职责。你的项目只有一个作用,就是供面试官从中来抽取八股对你进行拷打。 但是你现在这个看不来什么技术点,可以改一下,详细表述一下你用什么技术实现了什么功能,在实现这个功能的过程中,你解决了什么难题。
点赞 评论 收藏
分享
评论
1
4
分享

创作者周榜

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