用我可怜的提前批笔试经历来攒人品之蔚来提前批笔试(二)

这次题真的很舒适,选择题也出的很合理,厉害点的同学几乎都可以拿满分,但是因为前面选择花的时间长等原因最后一个题交卷两分钟之后才写完,蔚来估计是无缘了,希望今年能找到心仪的工作(拜托)

1. 给你一大一小俩矩阵,判断小的矩阵是否为大矩阵的子矩阵,(无坑直接弱智暴力100%

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int Kase = scanner.nextInt();
        while(Kase > 0){
            Kase--;
            int m = scanner.nextInt();
            int n = scanner.nextInt();
            char[][] big = new char[m][m];
            char[][] small = new char[n][n];

            scanner.nextLine();

            for(int i=0;i<m;i++){
                String line = scanner.nextLine();
                big[i] = line.toCharArray();
            }
            for(int j = 0; j<n; j++){
                String line = scanner.nextLine();
                small[j] = line.toCharArray();
            }
            boolean find = false;
            for(int i=0; i<= m-n && !find; i++){
                for(int j = 0; j <= m-n; j++){
                    boolean flag = false;
                    int count = 0;
                    for(int k = 0; k<n && !flag; k++){
                        for(int p = 0; p<n ; p++){
                            if(big[i+k][j+p] != small[k][p]){
                                flag = true;
                                break;
                            }
                            count++;
                        }
                    }
                    if(count == n*n){
                        System.out.println("Yes");
                        find = true;
                        break;
                    }
                }
            }
            if(!find){
                System.out.println("No");
            }
        }
    }
}

2. 给定一个由小括号组成的字符串,求合法的前缀数量,什么意思呢,(())),合法前缀是4,()()(())合法前缀是8,)()()合法前缀是0(此处有点记不清了大概是这个意思吧,也可能理解错了所以有百分之30没过)

import java.util.*;

public class Main2 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        scanner.nextLine();
        char[] quote = scanner.nextLine().toCharArray();
        int index = 0;
        Stack<Character> stack = new Stack<>();
        stack.push(quote[index++]);
        int ans = 0;
        //代码写的很丑,见谅
        while(index < n){
            if(!stack.isEmpty()){
                if(stack.peek()=='(' && quote[index] == ')'){
                    stack.pop();
                    index++;
                    ans += 2;
                }else{
                    stack.push(quote[index++]);
                }
            }else{
                //stack 为空 但是此时的下一个字符是')' 此时已经非法
                if(quote[index] == ')'){
                    break;
                }else{
                    stack.push(quote[index++]);
                }
            }
        }
        System.out.println(ans);
    }
}

3. 一个小孩家在(1,1)位置,学校在(1,1)位置,路上有两个点井盖被盗了,问你从学校到家有多少条路,答案要mod 998244353。(用dfs简单写了一下但是不知道对不对,可能会超时吧

import java.util.*;

public class Main3 {
    public static int n;
    public static int[][] map;
    public static boolean[][] vis;
    public static int ans;
    public static final int MOD = 998244353;
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        n = scanner.nextInt();
        map = new int[n][n];
        vis = new boolean[n][n];
        ans = 0;
        int[] t1 = new int[]{scanner.nextInt()-1,scanner.nextInt()-1};
        int[] t2 = new int[]{scanner.nextInt()-1,scanner.nextInt()-1};
        map[t1[0]][t1[1]] = -1;
        map[t2[0]][t2[1]] = -1;
        dfs(0,0);
        System.out.println(ans);
    }

    public static void dfs(int x, int y){
        if(x >= n || y >= n){
            return;
        }
        // 绕开井盖
        if(map[x][y] == -1){
            return;
        }
        if(!vis[x][y]){
            vis[x][y] = true;
        }
        if(x == n-1 && y == n-1){
            ans++;
            ans = ans % MOD;
            vis[x][y] = false;
            return;
        }
        //向右下方探索即可
        dfs(x, y+1);
        dfs(x+1,y);
        vis[x][y] = false;
    }
}

都笔试完了吧,还在笔试的看见给我退出去(叉腰

#蔚来提前批笔试#
全部评论
第三题0.9不知道为啥
2 回复 分享
发布于 2022-07-28 00:27
同第二题只有70%🤣
1 回复 分享
发布于 2022-07-28 01:14
真的谢谢你,一会晚上笔试,希望能全碰上
点赞 回复 分享
发布于 2022-08-05 14:21
和你一样的题目呀,我今天上午做的,可惜最后一题用dfs没有全过,应该要记忆化搜索,编程2.2道。
点赞 回复 分享
发布于 2022-08-04 15:27
啥岗位啊请问
点赞 回复 分享
发布于 2022-07-31 13:53
几号的笔试呀
点赞 回复 分享
发布于 2022-07-28 12:57
感谢信了家人们,正式批再见👋🏻
点赞 回复 分享
发布于 2022-07-28 10:54

相关推荐

来,说点可能被同行“骂”的大实话。🙊当初接数字马力Offer时,朋友都说:“蚂蚁的“内包”公司?你想清楚啊!”但入职快一年后的今天,我反而对他有了不一样的看法!🔹&nbsp;是偏见?还是信息差!之前没入职之前外面都在说什么岗位低人一等这类。实际上:这种情况不可至否,不能保证每个团队都是其乐融融。但我在的部门以及我了解的周边同事都还是十分好相处的~和蚂蚁师兄师姐之间也经常开一些小玩笑。总之:身份是蚂蚁公司给的,地位是自己挣的(一个傲娇女孩的自述)。🔹&nbsp;待遇?玩的就是真实!试用期工资全额发!六点下班跑得快(早9晚6或者早10晚7,动态打卡),公积金顶格交。别听那些画饼的,到手的钱和下班的时间才是真的(都是牛马何必难为牛马)。🔹&nbsp;能不能学到技术?来了就“后悔”!我们拥有权限直通蚂蚁知识库,技术栈多到学不完。说“学不到东西”的人,来了可能后悔——后悔来晚了(哈哈哈哈,可以不学但是不能没有)!💥&nbsp;内推地址:https://app.mokahr.com/su/ueoyhg❗我的内推码:NTA6Nvs走我的内推,可以直达业务部门,面试流程更快速,进度可查!今天新放HC,之前挂过也能再战!秋招已经正式开始啦~机会就摆在这,敢不敢来试一试呢?(和我一样,做个勇敢的女孩)
下午吃泡馍:数字马力的薪资一般哇,5年经验的java/测试就给人一万出头,而且刚入职第三天就让人出差,而且是出半年
帮你内推|数字马力 校招
点赞 评论 收藏
分享
评论
9
23
分享

创作者周榜

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