度小满8.31 Java后端笔试

第一题:暴力可以过,但我一直纠结dp,dp只能过36,有大佬帮看一下代码吗?

第二题:回溯
public static boolean backtrace(int[][] nums, int row, int column, int x, int cur){
        if(row==nums.length-1&&column==nums[0].length-1){
            if(cur==x){
                return true;
            }else {
                return false;
            }
        }
        if(row==nums.length-1){
            return backtrace(nums, row, column+1, x, cur+nums[row][column+1]);
        }
        if(column==nums[0].length-1){
            return backtrace(nums, row+1, column, x, cur+nums[row+1][column]);
        }
        return backtrace(nums, row+1, column, x, cur+nums[row+1][column])|| backtrace(nums, row, column+1, x, cur+nums[row][column+1]);
    }


    public static String canReach(int[][] nums, int x){
        boolean backtrace = backtrace(nums, 0, 0, x, nums[0][0]);
        if(backtrace) return "yes";
        return "no";
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int group = sc.nextInt();
        for(int i=0;i<group;i++){
            int n = sc.nextInt();
            int m = sc.nextInt();
            int k = sc.nextInt();
            int x = sc.nextInt();
            int[][] nums = new int[n][m];
            for(int j=0;j<n;j++){
                for(int p=0;p<m;p++){
                    nums[j][p] = sc.nextInt();
                }
            }
            String s = canReach(nums, x);
            System.out.println(s);
        }
    }

第三题:随便看了眼就去纠结第一题了。。。。

#度小满笔试#
全部评论
代码手机不知道为啥看不全,电脑可以。。。
点赞 回复 分享
发布于 2022-08-31 20:42 安徽
第三题可以回溯暴力穷举,也过36
点赞 回复 分享
发布于 2022-08-31 21:02 陕西
Excuse me,欢迎大佬们投递富途,头牌互联网券商。内推码:NTAMp00 内推直投链接:https://app.mokahr.com/recommendation-apply/futu5/1699?recommendCode=NTAMp00 各大岗位都有在招哟~
点赞 回复 分享
发布于 2022-09-01 15:17 广东
Excuse me,欢迎大佬们投递富途,头牌互联网券商。内推码:NTAMp00 内推直投链接:https://app.mokahr.com/recommendation-apply/futu5/1699?recommendCode=NTAMp00 各大岗位都有在招哟~
点赞 回复 分享
发布于 2022-09-01 17:26 广东

相关推荐

喜欢走神的孤勇者练习时长两年半:爱华,信华,等华,黑华
点赞 评论 收藏
分享
2 4 评论
分享
牛客网
牛客企业服务