华为od机试310求捞

性格测试已过

2020年二本计算机专业毕业,大数据开发,北京

在学校期间各种奖学金,获得过励志,蓝桥杯国三,优秀大学毕业生

四川职高高考,高考考了628可以去211但是当时为情所困去了一个二本师范。现在在社会上学历打的晕头转向

说起机试,就是那个上班那个题,我严重怀疑牛客网的题有问题,第三题通过百分之65输入死活异常...这题是真的有毒

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String s = in.nextLine();

        String[] s1 = s.split(" ");
        int t = Integer.parseInt(s1[0]);
        int c = Integer.parseInt(s1[1]);
        String ss = in.nextLine();
        String[] s2 = ss.split(" ");
        int n = Integer.parseInt(s2[0]);
        int m = Integer.parseInt(s2[1]);

        char[][] arr=new char[n][m];
        for (int i = 0; i < n; i++) {
                arr[i]=in.nextLine().toCharArray();
        }
        int[][] check = new int[n][m];
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                if (arr[i][j]=='S') {
                    if(dfs(i,j,arr,check,t+1,c,5)){
                        System.out.println("YES");
                        return;
                    }else {
                        System.out.println("NO");
                        return;
                    }
                }
            }
        }


    }

    private static boolean dfs(int i, int j, char[][] arr, int[][] check, int t, int c,int z) {
        //System.out.println(i+"  "+j);
        if (t<0||c<0||check[i][j]==1) return false;
        check[i][j]=1;
        if (arr[i][j]=='T') return true;
        int ud[]={1,0,-1,0};
        int lr[]={0,1,0,-1};
        boolean flag=false;
        for (int k = 0; k < 4; k++) {
            int l=i+ud[k];
            int r=j+lr[k];
            int count=1;
            if (k==z){
                count=0;
            }
            if (l>=0&&l<arr.length&&r>=0&&r<arr[0].length){
                int cc=0;
                if (arr[l][r]=='*') cc=1;

                flag=flag||dfs(l,r,arr,check,t-count,c-cc,k);
            }


        }
        check[i][j]=0;
        return flag;

    }


}

#23届找工作求助阵地##华为od捞人#
全部评论
华为题目测试用例确实是有问题的,有的会有输入范围之外的用例,我就遇到过,数组一直越界异常,导致我用例一直卡在95%,死活过不去,找了半天也不知道哪写错了,后面干脆把数组加大,可以容纳更多的输入用例,然后就过了,于是我就知道了输入用例不规范
3 回复 分享
发布于 2023-03-06 15:38 天津
哎,为了刷算法题,错过了美团外包。。。
点赞 回复 分享
发布于 2023-03-02 18:29 北京
话说老哥为情所困最后修成正果了吗?
点赞 回复 分享
发布于 2023-03-03 14:47 湖北
当时的成绩
点赞 回复 分享
发布于 2023-03-03 15:16 北京
310也要捞?
点赞 回复 分享
发布于 2023-03-03 22:25 浙江
考虑流程IT么,联系我
点赞 回复 分享
发布于 2023-03-09 09:00 广东

相关推荐

点赞 评论 收藏
分享
评论
6
2
分享
牛客网
牛客企业服务