阿里巴巴笔试 20220829

90分钟,单选+多选+3道编程(ACM模式)
选择题涉及到的知识点:
  1. awk 命令
  2. 数据库 char、varchar行为
  3. inode 包含什么信息
  4. DNS 缓存存在于哪里
  5. ...

编程题思路:
  1. 字符串模拟题,按照题意模拟即可。
  2. 求连通分量的一个计算属性,DFS即可,类似于岛屿问题。
  3. 思维题:排列组合,题目:给定两个数组,从两个数组中各拿出一个数,求乘积为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];
    }
}


#2023一起秋招吧#
全部评论
满分多少,先做的编程题,时间没够做单选。。
1 回复 分享
发布于 2022-08-29 20:40 荷兰
第三题秒啊,我没时间做了,搞了一个暴力,结果第一个用例就超时
点赞 回复 分享
发布于 2022-08-29 20:35 江苏
🐮
点赞 回复 分享
发布于 2022-08-29 20:38 四川
大佬能把第三题的代码都发一下吗?那个if里的条件判断不太懂
点赞 回复 分享
发布于 2022-08-29 21:01 四川
想到了位运算,但是没有这么巧妙,这到底怎么才能想到
点赞 回复 分享
发布于 2022-08-29 22:10 安徽

相关推荐

与火:这不接? 留子的钱不挣白不挣
点赞 评论 收藏
分享
12 32 评论
分享
牛客网
牛客企业服务