大厂高频算法题
文章平均质量分 82
本算法手册的题型基本都是选自LeetCode,但是这些题目中很多都是金刀本人或金刀的同事/小伙伴们遇到过的大厂高频题型。如果你学习完整个算法手册中的内容,那么在大厂面试算法环节绝对能得心应手,完全不用慌。
知春路金刀
金刀混迹于互联网多年,有丰富的研发经验,做过架构,搞过业务。目前就职于抖音团队负责千万级并发的核心系统。金刀非常热爱编程,从高中时期就开始自学编程。在大学期间有课必旷,自己偷偷摸摸跑到实验室钻研技术,写过编译器和操作系统。希望在这里能够输出高质量内容帮助到大家,予人玫瑰,手留余香。
展开
-
「图解大厂面试高频算法题」动态规划-爬楼梯
「图解大厂面试高频算法题」动态规划-爬楼梯原题链接: https://leetcode-cn.com/problems/climbing-stairs/题目介绍题目解答寻找子问题原问题可以等价转换为有多少种方法可以从第1个台阶爬到第N个台阶,这个问题可以拆成如下N个子问题子问题1: 多少种方法可以从第1个台阶爬到第1个台阶子问题2: 多少种方法可以从第1个台阶爬到第2个台阶… …子问题N-1: 多少种方法可以从第1个台阶爬到第N-1个台阶很容易发现子问题为有多少种方法可以从第1个台原创 2021-12-18 23:29:43 · 496 阅读 · 0 评论 -
「图解大厂面试高频算法题」动态规划-粉刷房子 II(VIP)
「图解大厂面试高频算法题」动态规划-粉刷房子 II(VIP)PS: 本题是LeetCode VIP题型原题链接: https://leetcode-cn.com/problems/paint-house-ii/题目介绍题目解答这道题是「图解大厂面试高频算法题」动态规划-粉刷房子I 的高阶版,解答本题之前建议大家先看看粉刷房子I。题目的原问题是求解用K种颜色粉刷从第0到第N个房子所花费的最低开销,这个问题可以拆成如下N个子问题用K种颜色粉刷第0个房子所花费的最低开销用K种颜色粉刷从第0到原创 2021-12-14 21:57:03 · 492 阅读 · 0 评论 -
「图解大厂面试高频算法题」动态规划-粉刷房子I
「图解大厂面试高频算法题」动态规划-粉刷房子I原题链接: https://leetcode-cn.com/problems/paint-house/题目介绍题目解答又又又又是动态规划,动态规划的要点是啥来着?发现子问题、找出状态转换方程、优化数组空间。首先寻找子问题题目的原问题是求解粉刷从第0到第N个房子红/蓝/绿这三种颜色所花费的最低开销,这个问题可以拆成如下N个子问题粉刷第0个房子红/蓝/绿这三种颜色所花费的最低开销粉刷从第0到第1个房子红/蓝/绿这三种颜色所花费的最低开销… …原创 2021-12-14 21:46:57 · 429 阅读 · 0 评论 -
「图解大厂面试高频算法题」动态规划-打家劫舍II
「图解大厂面试高频算法题」链表专题-打家劫舍II原题链接: https://leetcode-cn.com/problems/house-robber-ii/题目介绍题目解答房子是一个环形,第一个房子与最后一个房子是相邻的,这意味着小偷如果偷了第一个房子的钱,就无法偷最后一个房子的钱,反之亦然。如果我们对这个环进行简化,化简成一个按排进行排列的房子,那么我们只需要计算出从第0到第N-1个房子中能偷取到的最大的金额从第1到第N个房子中能偷取到的最大的金额取 从第0到第N-1个房子中能原创 2021-12-14 21:38:45 · 482 阅读 · 0 评论 -
「图解大厂面试高频算法题」动态规划-栅栏涂色
「图解大厂面试高频算法题」链表专题-栅栏涂色原题链接: https://leetcode-cn.com/problems/paint-fence/题目介绍题目解答首先寻找子问题题目的原问题是求解用K种颜色粉刷从第0到第N个围栏共有几种方案,这个问题可以拆成如下N个子问题用K种颜色粉刷第0个围栏共有几种方案用K种颜色粉刷从第0到第1个围栏共有几种方案… …用K种颜色粉刷从第0到第N-1个围栏共有几种方案用K种颜色粉刷从第0到第N个围栏共有几种方案注意这题有一个限制就是相邻的栅栏最原创 2021-12-14 21:32:33 · 951 阅读 · 0 评论 -
算法好的人当小偷偷的钱都是最多的之「动态规划打家劫舍I」
「图解大厂面试高频算法题」动态规划-打家劫舍原题链接: https://leetcode-cn.com/problems/house-robber/在LeetCode官网中看到了这样的一个评论金刀世上还是好人多,这位好孩子虽然输了题目,甚至在面试中挂了,但是但是赢了人生哈哈。甚至有网友表示如果你是小偷,你怎样才能偷最多的钱呢?题目介绍题目解答这题粗略一看,估计又是一道动态规划题型。有一句话说得好,万事开头难,在动态规划题型中,找出子问题是最关键的,毕竟全局解是一步一步求解子问题来得原创 2021-12-12 16:22:28 · 712 阅读 · 0 评论 -
「图解大厂面试高频算法题」链表专题-合并两个有序链表
想进大厂?做一下合并两个有序链表。这道题的解法是很多中等和困难难度题的基础,希望大家能熟练掌握。本文还会举一反三,给出常见的变种题目,这些题目都是大厂高频面试题。原创 2021-12-11 23:34:15 · 118 阅读 · 0 评论 -
「图解大厂面试高频算法题」链表专题-删除链表的中间节点(双指针法YYDS)
「图解大厂面试高频算法题」链表专题-删除链表的中间节点(快慢指针yyds)PS: 这道题其实挺有意思,面试中也遇见过,第一次碰见这个题的时候还真没什么意思,知道我遇见了快慢指针,yyds。原题链接: https://leetcode-cn.com/problems/delete-the-middle-node-of-a-linked-list/题目介绍给你一个链表的头节点 head 。删除链表的中间节点 ,并返回修改后的链表的头节点 head 。长度为 n 链表的中间节点是从头数起第 ⌊n / 2原创 2021-12-11 23:27:50 · 246 阅读 · 0 评论 -
「图解大厂面试高频算法题」链表专题-环形链表(快慢指针)动图讲解
「图解大厂面试高频算法题」链表专题-环形链表(快慢指针)动图讲解原题链接: https://leetcode-cn.com/problems/linked-list-cycle/PS: 这道题虽然也是easy的,我最初开始做这道题的的时候,只能想到使用哈希表的方式。如果你在面试中指想到了用哈希表来解决,那面试官可能不是很满意噢。题目介绍给你一个链表的头节点 head ,判断链表中是否有环。如果链表中存在环,则返回 true 。 否则,返回 false 。示例1输入:head = [3,2,原创 2021-12-11 23:15:32 · 333 阅读 · 0 评论 -
「图解大厂面试高频算法题」链表专题-合并K个升序链表(归并思想)
给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。原创 2021-12-11 23:07:58 · 153 阅读 · 0 评论 -
「图解大厂面试高频算法题」链表专题-反转链表(迭代+递归)
「图解大厂面试高频算法题」链表专题-反转链表(迭代+递归)PS: 这道题目估计是很多刷leetcode小伙伴们做的第一次,别以为这个题很简单而且是esay的就不重视它。金刀之前在大厂面试中真的遇到过这个问题,我都惊呆了竟然出这个题,说来惭愧,我竟然没写对!焯!所以大家还是要多多练习,掌握好基本功才能拿下好offer。原题链接: https://leetcode-cn.com/problems/reverse-linked-list/题目介绍给你单链表的头节点 head ,请你反转链表,并返回反转后的原创 2021-12-11 22:50:40 · 276 阅读 · 0 评论 -
「图解大厂面试高频算法题」链表专题-复制复杂链表
「图解大厂面试高频算法题」链表专题-复制复杂链表原题链接: https://leetcode-cn.com/problems/copy-list-with-random-pointer/题目介绍给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 next 指针和 random 指针也都应指向复制链表中的新节点,并使原创 2021-12-11 22:41:52 · 382 阅读 · 0 评论 -
「图解大厂面试高频算法题」动态规划-乘积最大子数组
「图解大厂面试高频算法题」动态规划-乘积最大子数组原题链接: https://leetcode-cn.com/problems/maximum-product-subarray/题目介绍PS: 动态规划题型中最最经典的入门题目。示例1输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。示例2输入: [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。题目解答方法一:一维动态规划思路和算法大家可以先思考一下原创 2021-12-11 22:22:48 · 317 阅读 · 0 评论 -
「图解大厂面试高频算法题」动态规划-最大正方形
「图解大厂面试高频算法题」动态规划-最大正方形题目原链接: https://leetcode-cn.com/problems/maximal-square/题目介绍在一个由 ‘0’ 和 ‘1’ 组成的二维矩阵内,找到只包含 ‘1’ 的最大正方形,并返回其面积。示例1输入:matrix = [[“1”,“0”,“1”,“0”,“0”],[“1”,“0”,“1”,“1”,“1”],[“1”,“1”,“1”,“1”,“1”],[“1”,“0”,“0”,“1”,“0”]]输出:4示例2输入原创 2021-12-10 23:58:31 · 382 阅读 · 0 评论 -
「图解大厂面试高频算法题」链表专题-链表的中间结点(快慢指针)
「图解大厂面试高频算法题」876. 链表的中间结点原题链接: https://leetcode-cn.com/problems/middle-of-the-linked-list/PS: 这道题的解法是很多中等和困难难度题的基础,希望大家能熟练掌握。本文还会举一反三,给出常见的变种题目,这些题目都是大厂高频面试题。题目介绍给定一个头结点为 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例1输入:[1,2,3,4,5]输出:此列表中的结点 3解释:原创 2021-12-08 14:09:55 · 214 阅读 · 0 评论 -
「图解大厂面试高频算法题」链表专题-排序链表
PS: 本道题也是在大厂互联网面试中出现频率非常高的题目,虽然字数不多,但做出最优解还是有一定难度的,请大家仔细阅读。原创 2021-12-07 23:29:17 · 186 阅读 · 0 评论 -
「图解大厂面试高频算法题」链表专题-相交链表
「图解」「大厂面试高频算法题」160. 链表算法-相交链表PS: 这到题虽然是easy的,但是其实如果不仔细思考,不容易想出最优解,这到题目的最优解其实非常优雅。原创 2021-12-07 00:13:17 · 278 阅读 · 0 评论