1、重排链表(lc143)
利用线性表存储该链表,然后利用线性表可以下标访问的特点,直接按顺序访问指定元素,重建该链表即可。
代码如下:
class Solution:def reorderList(self, head: ListNode) -> None:if not head:returnvec = list()node = headwhile node:vec.append(node)node = node.nexti, j = 0, len(vec) - 1while i < j:vec[i].next = vec[j]i += 1if i == j:breakvec[j].next = vec[i]j -= 1vec[i].next = None
时间复杂度:O(N)
空间复杂度:O(N)
N是链表中的节点数。
2、爬楼梯(lc70)
思路:动态规划
代码如下:
def climbStairs(self, n: int) -> int:a = b = 1for i in range(2, n + 1):a, b = b, a + breturn b
3、CNN的卷积公式
卷积层计算公式如下:
其中,W为输入大小,K为卷积核大小,P为 padding大小,S为步幅。
如果,想保持卷积前后的特征图大小相同,通常会设定padding为:
如果觉得《小米计算机视觉算法工程师面试题》对你有帮助,请点赞、收藏,并留下你的观点哦!