小米计算机视觉算法工程师面试题
·
1、重排链表(lc143)
利用线性表存储该链表,然后利用线性表可以下标访问的特点,直接按顺序访问指定元素,重建该链表即可。
代码如下:
class Solution:
def reorderList(self, head: ListNode) -> None:
if not head:
return
vec = list()
node = head
while node:
vec.append(node)
node = node.next
i, j = 0, len(vec) - 1
while i < j:
vec[i].next = vec[j]
i += 1
if i == j:
break
vec[j].next = vec[i]
j -= 1
vec[i].next = None
时间复杂度:O(N)
空间复杂度:O(N)
N 是链表中的节点数。
2、爬楼梯(lc70)
思路:动态规划
代码如下:
def climbStairs(self, n: int) -> int:
a = b = 1
for i in range(2, n + 1):
a, b = b, a + b
return b
3、CNN的卷积公式
卷积层计算公式如下:

其中,W为输入大小,K为卷积核大小,P为 padding大小,S为步幅。
如果,想保持卷积前后的特征图大小相同,通常会设定padding为:

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)