阿里巴巴笔试 20220829
90分钟,单选+多选+3道编程(ACM模式)
选择题涉及到的知识点:
- awk 命令
- 数据库 char、varchar行为
- inode 包含什么信息
- DNS 缓存存在于哪里
- ...
编程题思路:
- 字符串模拟题,按照题意模拟即可。
- 求连通分量的一个计算属性,DFS即可,类似于岛屿问题。
- 思维题:排列组合,题目:给定两个数组,从两个数组中各拿出一个数,求乘积为2022倍数的组数。思路:因为2022=2*3*337,分别用两个数组t1、t2 : int[1<<3]表示8种可能的组合状态,分别遍历两个数组取余统计,然后:
long ans = 0; for (int i=0; i<8; ++i) { for (int j=0; j<8; ++j) { if ((i | j) == 7) ans += t1[i] * t2[j]; } }