科大讯飞笔试 9.17 1 1 0.16



1.  100%
public class Main01 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int m = scan.nextInt();
        int n = scan.nextInt();
        int k = scan.nextInt();
        int l = scan.nextInt();

        int[][] arr = new int[m][n];
        int[][] sub = new int[k][l];

        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                arr[i][j] = scan.nextInt();
            }
        }
        for (int i = 0; i < k; i++) {
            for (int j = 0; j < l; j++) {
                sub[i][j] = scan.nextInt();
            }
        }

        int[][] res = new int[m][n];
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                int sum = 0;
                for (int o = -(k / 2); o <= k / 2; o++) {
                    for (int p = -(l / 2); p <= l / 2; p++) {
                        int x = i + o;
                        int y = j + p;
                        if (x >= 0 && x < m && y >= 0 && y < n){
                            sum += arr[x][y] * sub[o + k/2][p + l/2];
                        }
                    }
                }
                if (sum > 255) {
                    sum = 255;
                }
                if (sum < 0) {
                    sum = 0;
                }
                res[i][j] = sum;
            }
        }
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                System.out.print(res[i][j]);
                if (j != n-1) {
                    System.out.print(" ");
                }
            }
            System.out.println();
        }
    }
}
2.  100%
就是力扣上岛屿面积的题
public class Main02 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int m = scan.nextInt();
        int n = scan.nextInt();
        int[][] before = new int[m][n];
        int[][] after = new int[m][n];
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                before[i][j] = scan.nextInt();
            }
        }
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                after[i][j] = scan.nextInt();
            }
        }

        int res = 0;
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                if (after[i][j] == before[i][j]) {
                    res = Math.max(res, process(before,after,m,n,i,j));
                }
            }
        }
        System.out.println(res);

    }

    public static int process(int[][] before, int[][] after, int m, int n, int i, int j) {
        if (i < 0 || i >= m || j < 0 || j >= n) {
            return 0;
        }
        if (after[i][j] != before[i][j]) {
            return 0;
        }
        after[i][j] = before[i][j]+1;

        int a = process(before, after, m, n, i+1, j);
        int b = process(before, after, m, n, i-1, j);
        int c = process(before, after, m, n, i, j+1);
        int d = process(before, after, m, n, i, j-1);

        return a+b+c+d+1;
    }
}

3. 直接打印4骗分,根本没思路

#23届秋招笔面经#
全部评论
不是,我想问一下楼主,我c++和你java一样的代码,N^4,为什么你的可以100%?我的不行
点赞 回复 分享
发布于 2022-09-18 07:40 安徽
最后一题就六个案例,其中四个是4,17,20,26,我就生成一个随机数,每次从里面随机选一个,跑了差不多十几次,过了50%
点赞 回复 分享
发布于 2022-09-17 22:38 江苏

相关推荐

点赞 评论 收藏
分享
Eeeeevans:都是校友,还是同届,我就说直白点,不委婉了,我相信你应该也不是个玻璃心,首先你觉得一个双非的绩点写简历上有用吗?班长职务有用吗?ccf有用吗?企业会关心你高数满分与否吗?第二,第一个项目实在太烂,一眼就能看出是外卖,还是毫无包装的外卖,使用JWT来鉴权,把热点数据放进Redis这两个点居然还能写进简历里,说难听点这两个东西都是学个几十分钟,调用个API就能完成的事情,在双非一本的条件下,这种项目你觉得能拿出手吗,第二个项目你写的东西和你的求职方向有任何的匹配吗?第三,计设那一块毫无价值,如果想突出自己会前端,直接写入专业技能不行吗,最后,专业技能里像深入理解JVM底层原理这种你觉得这句话你自己真的能匹配吗?都是校友加上同届,我措辞直接,但希望能点出你的问题,想进大厂还得继续沉淀项目和学习
点赞 评论 收藏
分享
评论
3
9
分享

创作者周榜

更多
牛客网
牛客企业服务