阿里3.23笔试(代码片段)

xlsryj xlsryj     2023-04-09     280

关键词:

只第一题过了80%,3.24复盘

第一题:
n个人,选任意多人组成一个队(至少一个),再从中选一个队长,问多少种方案,模1e9;
过80%
思路:dp打表,找规律,n*(2^(n-1))

    private static int quickmi(long a, long b, long m) 
        long ans = 1;
        long base = a;
        while (b > 0) 
            if(b % 2 == 1) ans = ans * base % m;
            base = base * base % m;
            b >>= 1;
        
        return (int) ans;
    
    //打表
    private static void solve1(int n) 
        int[][] dp = new int[n+1][n+1];
        dp[0][0] = 1;
        int res = 0;
        for(int i = 1; i <= n; i++) 
            for(int j = 1; j <= i; j++) 
                dp[i][j] = i - 1 >= j ? dp[i-1][j] : 0;
                dp[i][j] += dp[i-1][j-1];
                dp[i][j] += j > 1 ? dp[i-1][j-1] / (j - 1) : 0;
                res += dp[i][j];
            
            System.out.println(res/n);
        
    
    public static void main(String[] args) 
        Scanner scanner = new Scanner(System.in);
        long n = scanner.nextLong();
        long mod = 1000000007;
        long tmp = quickmi(2, n - 1, mod);
        System.out.println(((n % mod) * (tmp % mod)) % mod);
        

第二题:
走迷宫,不能走到障碍物上,每次上下左右移动一格,或者用飞行器飞到中心对称点(最多用五次),最少多少次到达。

    static int[][] dir = new int[][]0, 1, 1, 0, -1, 0, 0, -1;
    private static int bfs(char[][] matrix, int n, int m, int sx, int sy, int ex, int ey) 
        boolean[][][] visited = new boolean[n][m][6];
        Queue<int[]> que = new LinkedList<>();
        que.offer(new int[]sx, sy, 0);
        int res = 0;
        while(!que.isEmpty()) 
            for(int size = que.size(); size > 0; size--) 
                int[] pos = que.poll();
                if(pos[0] == ex && pos[1] == ey) return res;
                visited[pos[0]][pos[1]][pos[2]] = true;
                for(int[] d : dir) 
                    int x = pos[0] + d[0], y = pos[1] + d[1];
                    if(x >= 0 && x < n && y >= 0 && y < m && matrix[x][y] != ‘#‘ && !visited[x][y][pos[2]]) 
                        que.offer(new int[]x, y, pos[2]);
                    
                
                if(pos[2] < 5) 
                    int dx = n - 1 - pos[0], dy = m - 1 - pos[1];
                    que.offer(new int[]dx, dy, pos[2] + 1);
                
            
            res++;
        
        return -1;
    

    public static void main(String[] args) 
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int m = scanner.nextInt();
        scanner.nextLine();
        char[][] matrix = new char[n][m];
        for(int i = 0; i < n; i++) matrix[i] = scanner.nextLine().toCharArray();

        int sx = 0, sy = 0, ex = 0, ey = 0;
        for(int i = 0; i < n; i++) 
            for(int j = 0; j < m; j++) 
                if(matrix[i][j] == ‘S‘) 
                    sx = i;
                    sy = j;
                
                if(matrix[i][j] == ‘E‘) 
                    ex = i;
                    ey = j;
                
            
        
        System.out.println(bfs(matrix, n, m, sx, sy, ex, ey));
    

阿里2021秋招笔试(8.28)——开发岗(代码片段)

前言阿里笔试比字节还难,如果你能A0-1道,那么你是个努力的臭弟弟,如果你能A一道,人上人,能A两道,你一定是Acmer。祝所有秋招的同学offer拿到手软如果你从本文中学习到丝毫知识,那么请您点点... 查看详情

纯干货分享!2020阿里java岗笔试面试题总结(附答案)(代码片段)

...020金九银十马上结束,现为大家整理了这次金九银十面试阿里的面试题总结,都是我从朋友那拿到的面试真题,话不多说,满满的干货分享给大家!inta=10是原子操作吗?是的。?注意点:i++(或++i)是非原子操作,i++是一个多步操... 查看详情

阿里一面(3.23)

好像之前没有放一面的题,现在补上。话说面试我的那个面试官人好好,一点都没有为难我,面之前还和我说了很多家常让我不那么紧张(人生第一次接到面试电话,紧张到我舍友说我自我介绍的时候声音是... 查看详情

阿里巴巴3.25c++研发笔试编程题解(代码片段)

第一题、判断密码合法性长度要在6-12之间,要全为字母,之前不能已经存在有个小坑,有空格。AC代码#include<bits/stdc++.h>usingnamespacestd;map<string,int>mp;boolcheck(charx)if(x>='a'&&x<='z'... 查看详情

error:nomatchingdistributionfoundforgradio>=3.23(代码片段)

ERROR:Nomatchingdistributionfoundforgradio>=3.23一、现象今天运行chatGPTweb项目的时候跟下载其他包时候一样使用清华源下载的时候,pipinstallgradio==3.23-ihttps://pypi.python.org/pypi然后,报错了。二、原因国内的镜像源还没有更... 查看详情

热乎着,昨晚阿里这题真太绝了(代码片段)

...;我是bigsai,好久不见甚是想念。昨晚有个同学参加了阿里的笔试题,笔试完后同学说这次笔试感觉难,跟我说了其中一道题,我看了感觉还是挺有质量的,看着这个难度都是第二题,总共三题感觉还是有... 查看详情

热乎着,昨晚阿里这题真太绝了(代码片段)

...;我是bigsai,好久不见甚是想念。昨晚有个同学参加了阿里的笔试题,笔试完后同学说这次笔试感觉难,跟我说了其中一道题,我看了感觉还是挺有质量的,看着这个难度都是第二题,总共三题感觉还是有... 查看详情

mysql的高阶语句——数据库函数和存储过程(代码片段)

一、数据库函数1.1 数学函数实例:#Abs(x)返回绝对值mysql>selectabs(-3),(3.23),(0);+---------+------+---+|abs(-3)|3.23|0|+---------+------+---+|3|3.23|0|+-------- 查看详情

阿里笔试——重庆阿里笔试题总结

        查看详情

阿里笔试——北京阿里笔试题总结

       查看详情

3.23(代码片段)

...的情况后,是否还是正数(意味着可以实现,反之不行)代码#include<bits/stdc++.h>#include<ext/pb_ds/assoc_container.hpp>#include<ext/pb_ds/tree_policy.hpp>#defineiinf0x3f3f3f3f#definelinf(1ll<<60)#defineeps1e-8#definemaxn1000010#definemaxe1000010#define... 查看详情

阿里笔试——总结2

目录1.题目:如何实现两金额数据相加(最多小数点两位)? 查看详情

阿里笔试——总结1

目录1.问题:如何实现一个高效的单向链表逆序输出?  查看详情

一篇面经(bat面试)(转)(代码片段)

...的安排,毕竟时间和精力都是有限的。最终参加面试的:阿里(电话2面,很轻松地就挂了)腾讯(现场2面,很久之后hr电话说要转C,就只能算了)百度(电话2面经理面,offer)滴滴(视频2面现场终面,offer)360(视频2面hr面,o... 查看详情

面试笔试(代码片段)

(1)[11,33,4,2,11,4,9,2]去重并保持原来的顺序?li=[11,33,4,2,11,4,9,2]set1=list(set(li))ret=sorted(set1,key=li.index)print(ret)  查看详情

美团笔试复盘(代码片段)

整除AC26%听说把long换成BigInteger可以AC82%packagemeituan;importjava.math.BigInteger;importjava.util.Scanner;/***@authorJohnnyLin*@date2021/9/1512:59*/publicclassDividepublicstaticvoidmain(String[]args) 查看详情

美团笔试复盘(代码片段)

整除AC26%听说把long换成BigInteger可以AC82%packagemeituan;importjava.math.BigInteger;importjava.util.Scanner;/***@authorJohnnyLin*@date2021/9/1512:59*/publicclassDividepublicstaticvoidmain(String[]args 查看详情

阿里笔试题目——网络

目录1.关于DOM的描述:2.网络蜘蛛系统3.UTF-84.数据库检索:查准率和查全率;5.索引压缩 查看详情