阿里正式批笔试题第二场 (2020/03/23)
第一题:
第一题,给你一个数字N(1<=N<=1e9),代表集合中有N个人,现在每次选若干个人出来,然后把这若干个人里面其中一个置为队长,这便是一种不同的选法,问你总共有多少种选法?
解法: 组合数学+快速幂
ans = C(n,1)*1 + C(n,2)*2 + ... + C(n,n) = n*2^(n-1)
第二题,给一个迷宫(1<=N,M<=500), 小明要从初始位置S到达目标位置T,支持五种操作,上/下/左/右/瞬移,瞬移一共可以用5次,每次可以从 (x,y) 移动到 (n+1-x, m+1-y), 问小明从S到T的最短时间,如果不能到达输出-1。
解法: 搜索题,定义状态 vis[x][y][z] 代表小明到达 (x,y)位置共使用了z次瞬移,对五种状态进行转移即可。
PS: QWQ 我今天才发现牛客考试界面选择Python语言作为编译器,然后用C++语言进行提交是不会报编译错误,而是会报样例通过数0%。。。我昨天快手第三题因为这个原因WA了1个半小时,不知道做对没有QWQ。。。
#阿里笔试2020第二场##阿里巴巴##笔试题目#