蔚来汽车 2022-07-24 方向:VE 人工智能
单选题 15道(54分)
单选题挺难的,会的不多,摘几个记得的说
- 对于一个(N, C, H, W)来说,BN每个batch中均值和方差的数量是
(a)C
(b)NxC
(c)HxW
因为BN是对每个特征在N上做均值方差计算,所以数量是C,每一个特征都有一个均值和方差
注意BN的学习参数是经过标准化后的一步缩放和平移参数,一个feature/channel共享一个gamma和beta - 三路归并的最佳归并数
- 临界区和临界资源
- 纹理特征四大类
度娘结果:统计法、频谱法、模型法和结构法 - 卷积乘法的计算量
假设输入特征是(C1, H1, W1),卷积核是(C2, C1, K, K),输出尺寸是(C2, H2, W2)
卷积一次的运算量cost_1是:乘法(KxKxC1),加法(KxKxC1-1),+1
那么总的计算量是和输出尺寸相关的,cost_all= (2xKxKxC1) x (C2xH2xW2) - KMP算法中的匹配效率(好像是这么叫)
编程题 2道(23x2分)
题目一: 买卖股票的最佳时机(2)
经典的DP算法,参考Leetcode 122:
https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/description/
题目二:给定一个n,表示节点的数量,求可能组成的不同的二叉树的个数
我的思路是分治。对于问题n,包含了n-1的子问题,需要考虑的仅仅是一些简单逻辑
- 用一个res数组存储index为n的子树个数结果,用来减少递归量,初始化res[0]为0,res[1]为1,因为一个节点肯定只有一种可能;
- 用一个tmp变量存储n的结果;
- 剔除一个根节点后,遍历左右子树为(0, n-1), (1, n-1-1), … , (n-1, 0)的各种情况;
- 然后分情况讨论
(a)左右子树有一个n为0;
(b)左右子树n相等:若n是1,则返回1,因为左右子树都为1只有一种情况;若不为1,则返回乘积;
(c)左右子树n不等:返回子问题结果的乘积 - 最后通过res和index返回结果即可
def tree_combination(n):
if n == 0:
return 0
elif n == 1:
return 1
if n < len(res):
return res[n]
tmp = 0
for i in range(0, n):
left = i
right = n - i - 1
if left == 0:
tmp += tree_combination(right)
elif right == 0:
tmp += tree_combination(left)
elif left == right:
if left == 1:
tmp += 1
else:
tmp += (tree_combination(left) * tree_combination(right))
else:
tmp += (tree_combination(left) * tree_combination(right))
return tmp
res = []
for i in range(20):
res.append(tree_combination(i))
print(res)
写在最后
计算机视觉的考题,所以考了卷积参数计算量和一些传统图像处理的题,但是穿插了不少算法知识(三路归并,KMP之类的,没复习的GG),编程题不难都对了,预估自己能得个60分吧 23333。