面试
Mochadrone
半路出家的程序猿,充当分母的炼丹师。在内卷的浪花中痛并快乐着的水手。UIUC MCS预备生,目前在寻找各厂CV相关算法实习生的工作,欢迎沟通!
展开
-
剑指offer-数组专题
剑指 Offer 03. 数组中重复的数字题目找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3思路hashtable。初始化dict为-1,遍历nums,碰到-1放入;反之return代码# hashtableclass Solution:原创 2020-09-10 02:07:55 · 158 阅读 · 0 评论 -
剑指offer-斐波那契专题
题目斐波那契数列思路最简单就是递归了,但是千万不要用递归。因为时间和空间复杂度都非常高:都是O(2n)O(2^n)O(2n)第二种是存下来一个数组,如果call到了有值的数组,那么直接返回该值而不是递归地算下去。第三种是动态规划,这里只需要保存最近的两个值,所以以a,b保存n-1,n-2的值,每次递归加起来就可以。代码# 极致简化版。真的牛皮我只能说class Solution: def fib(self, n: int) -> int: a, b = 0,原创 2020-09-10 02:07:13 · 94 阅读 · 0 评论 -
剑指offer-栈专题
剑指 Offer 09. 用两个栈实现队列题目用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例:输入:[“CQueue”,“appendTail”,“deleteHead”,“deleteHead”][[],[3],[],[]]输出:[null,null,3,-1]示例2:输入:[“CQueue”原创 2020-09-10 02:06:34 · 105 阅读 · 0 评论 -
排序算法大整理
前言为了准备腾讯的笔试,我打算好好攻克一下算法题。最常见的题目类型之一就是排序算法了,需要掌握不同算法的实现和时间、空间复杂度。之前都是零星的学习,这次试着做一个完整的整理。排序算法的评价稳定性稳定排序算法会依照相等的关键(换言之就是值)维持纪录的相对次序。也就是一个排序算法是稳定的,就是当有两个有相等关键的纪录R和S,且在原本的串行中R出现在S之前,在排序过的串行中R也将会是在S之前。计算复杂度(最差、平均、和最好表现)依据串行(list)的大小(n),一般而言,好的表现是O(nlogn),且原创 2020-08-29 21:51:18 · 835 阅读 · 0 评论