进字节一年了,分享一下当初刷的一百多篇算法题解

❤️点击上方,选择星标置顶,每天给你送上干货❤️

最近2022届的秋招拉开了帷幕,一转眼我加入字节跳动也有「14个月」了。

想起去年上半年疫情在家,为了准备面试,不间断刷了整整「3个月」的LeetCode算法题,这才找回了一点当年打ACM竞赛的手感。

当时刷了有两百多题,写了整整「一百多篇题解」。每道题解我都是列举了几乎所有的解法,包括我自己的解法,还有详尽的推导过程。不像大多数题解那种跳跃性思维,我都试图从头开始讲解如何想到的这种解法,如何进一步优化解法。

当时刚开始搞公众号,阅读量都低的可怜。由于公众号文章有实效性,估计大多数人都不会再翻到之前写的题解了,因此这里再把之前的题解翻出来整理了一下,希望能对大家秋招有所帮助。

「刷完下面这些题目,足够你应付99%的笔试面试了!」

想来字节的同学不要错过这次研发提前批,「8月1日」就截止了:
「内推码:」 A7FSJMK
「投递链接:」 https://jobs.toutiao.com/s/egpham5

进字节一年了,分享一下当初刷的一百多篇算法题解_第1张图片

动态规划

  • 【LeetCode 55】跳跃游戏

  • 【LeetCode 72】编辑距离

  • 【LeetCode 115】不同的子序列

  • 【LeetCode 124】二叉树中的最大路径和

  • 【LeetCode 174】地下城游戏

  • 【LeetCode 188】买卖股票的最佳时机IV

  • 【LeetCode 198】打家劫舍

  • 【LeetCode 213】打家劫舍II

  • 【LeetCode 233】数字1的个数

  • 【LeetCode 309】最佳买卖股票时机含冷冻期

  • 【LeetCode 312】戳气球

  • 【LeetCode 337】打家劫舍III

  • 【LeetCode 354】俄罗斯套娃信封问题

  • 【LeetCode 376】摆动序列

  • 【LeetCode 390】消除游戏

  • 【LeetCode 689】三个无重叠子数组的最大和

  • 【LeetCode 714】买卖股票的最佳时机含手续费

  • 【LeetCode 907】子数组的最小值之和

  • 【LeetCode 943】最短超级串

  • 【LeetCode 1031】两个非重叠子数组的最大和

  • 【LeetCode 1039】多边形三角剖分的最低得分

  • 【LeetCode 1186】删除一次得到子数组最大和

  • 【LeetCode 系列】买卖股票的最佳时机

  • 【LeetCode 面试题 08.11】硬币

  • 【LeetCode 面试题 60】n个骰子的点数

  • 【LeetCode 面试题 62】圆圈中最后剩下的数字

  • 【LeetCode 面试题 08.01】三步问题

  • 【LeetCode 面试题 46】把数字翻译成字符串

  • 【美团 笔试题】四面体方案个数

贪心算法

  • 【LeetCode 55】跳跃游戏

  • 【LeetCode 121】买卖股票的最佳时机

  • 【LeetCode 122】买卖股票的最佳时机II

  • 【LeetCode 123】买卖股票的最佳时机III

  • 【LeetCode 42】接雨水

  • 【LeetCode 135】分发糖果

  • 【LeetCode 229】求众数

  • 【LeetCode 330】按要求补齐数组

  • 【LeetCode 376】摆动序列

  • 【LeetCode 495】提莫攻击

  • 【LeetCode 556】下一个更大元素III

  • 【LeetCode 861】反转矩阵后的得分

  • 【LeetCode 926】将字符串翻转到单调递增

  • 【LeetCode 927】三等分

  • 【LeetCode 1053】交换一次的先前排列

  • 【LeetCode 1111】有效括号的嵌套深度

  • 【LeetCode 面试题 16.16】部分排序

  • 【@ln 供题】模糊的数字

数学技巧

  • 【LeetCode 69】x的平方根

  • 【LeetCode 233】数字1的个数

  • 【LeetCode 319】灯泡开关

  • 【LeetCode 357】计算各个位数不同的数字个数

  • 【LeetCode 470】用Rand7()实现Rand10()

  • 【LeetCode 523】连续的子数组和

  • 【LeetCode 672】灯泡开关II

  • 【LeetCode 829】连续整数求和

  • 【LeetCode 1006】笨阶乘

  • 【LeetCode 1227】飞机座位分配概率

  • 【LeetCode 1250】检查「好数组」

  • 【LeetCode 1363】形成三的最大倍数

  • 【LeetCode 面试题 17.19】消失的两个数字

  • 【LeetCode 面试题 60】n个骰子的点数

  • 【LeetCode 面试题 62】圆圈中最后剩下的数字

  • 【LeetCode 面试题 08.01】三步问题

  • 【LeetCode 面试题 17.01】第k个数

滑动窗口

  • 【LeetCode 16】最接近的三数之和

  • 【LeetCode 42】接雨水

  • 【LeetCode 88】合并两个有序数组

  • 【LeetCode 287】寻找重复数

  • 【LeetCode 328】奇偶链表

  • 【LeetCode 658】找到K个最接近的元素

  • 【LeetCode 881】救生艇

  • 【LeetCode 992】K个不同整数的子数组

  • 【LeetCode 1004】最大连续1的个数III

  • 【LeetCode 1248】统计优美子数组

  • 【LeetCode 面试题 16.06】最小差

  • 【LeetCode 面试题 17.09】第k个数

哈希算法

  • 【LeetCode 41】缺失的第一个正数

  • 【LeetCode 128】最长连续序列

  • 【LeetCode 825】适龄的朋友

  • 【LeetCode 846】一手顺子(新解法)

  • 【LeetCode 846】一手顺子

  • 【LeetCode 992】K个不同整数的子数组

  • 【LeetCode 1248】统计优美子数组

  • 【LeetCode 面试题 17.05】字母与数字

  • 【LeetCode 面试题 17.19】消失的两个数字

  • 【LeetCode 面试题 39】数组中出现次数超过一半的数字

二分算法

  • 【LeetCode 153】寻找旋转排序数组中的最小值

  • 【LeetCode 287】寻找重复数

  • 【LeetCode 556】下一个更大元素III

  • 【LeetCode 658】找到K个最接近的元素

  • 【LeetCode 668】乘法表中第k小的数

  • 【LeetCode 719】找出第k小的距离对

  • 【LeetCode 825】适龄的朋友

  • 【LeetCode 875】爱吃香蕉的珂珂

单调栈(队列)

  • 【LeetCode 42】接雨水

  • 【LeetCode 135】分发糖果

  • 【LeetCode 239】滑动窗口最大值

  • 【LeetCode 503】下一个更大元素II

  • 【LeetCode 907】子数组的最小值之和

深度(广度)优先搜索

  • 【LeetCode 115】不同的子序列

  • 【LeetCode 199】二叉树的右视图

  • 【LeetCode 312】戳气球

  • 【LeetCode 329】矩阵中的最长递增路径

  • 【LeetCode 815】公交路线

  • 【LeetCode 827】最大人工岛

  • 【LeetCode 959】由斜杠划分区域

  • 【LeetCode 面试题 13】机器人的运动范围

位运算

  • 【LeetCode 137】只出现一次的数字II

  • 【LeetCode 672】灯泡开关II

  • 【LeetCode 810】黑板异或游戏

  • 【LeetCode 861】翻转矩阵后的得分

  • 【LeetCode 面试题 17.19】消失的两个数字II

  • 【LeetCode 面试题 65】不用加减乘除做加法

字符串

  • 【LeetCode 8】字符串转换整数(atoi)

  • 【LeetCode 208】实现Trie(前缀树)

  • 【LeetCode 386】字典序排数

  • 【LeetCode 926】将字符串翻转到单调递增

  • 【LeetCode 943】最短超级串

二叉树

  • 【LeetCode 99】恢复二叉搜索树

  • 【LeetCode 124】二叉树中的最大路径和

  • 【LeetCode 199】二叉树的右视图

  • 【LeetCode 337】打家劫舍III

  • 【LeetCode 面试题 04.06】后继者

并查集

  • 【LeetCode 128】最长连续序列

  • 【LeetCode 684】冗余连接

  • 【LeetCode 685】冗余连接II

数据结构

  • 【LeetCode 215】数组中的第K个最大元素

  • 【LeetCode 208】实线Trie(前缀树)

  • 【LeetCode 315】计算右侧小于当前元素的个数

  • 【LeetCode 386】字典序排数

模拟

  • 【LeetCode 289】生命游戏

  • 【LeetCode 810】黑板异或游戏

  • 【LeetCode 846】一手顺子

  • 【LeetCode 1006】笨阶乘

  • 【LeetCode 面试题 01.07】旋转矩阵

  • 【LeetCode 328】奇偶链表

  • 【EOJ 3031】二进制倒置

合集

  • 【LeetCode 周赛 179】

  • 【LeetCode 周赛 181】

  • 【LeetCode 系列】买卖股票的最佳时机

  • 【美团 面试题 1】

  • 十大经典排序算法整理汇总(附代码)

  • 【字节 面试题 1】

  • 【字节 面试题 2】

- END -

我是godweiyang,华东师范大学计算机系本硕专业第一,字节跳动AI Lab NLP算法工程师,秋招斩获上海三家互联网大厂ssp offer,主要研究方向为机器翻译、句法分析、模型压缩与加速。最大特点就是脾气好、有耐心,有任何问题都可以随时咨询我,不管是技术上的还是生活上的。

公众号后台回复【内推

可以通过我的内推码投递简历,加我微信还能随时查进度、咨询问题。

公众号后台回复【加群

可以进我的技术交流群和内推群。

进字节一年了,分享一下当初刷的一百多篇算法题解_第2张图片

记得一键③连,今天的你格外的可爱????

你可能感兴趣的:(lighttpd,字节跳动,websphere,payment,ddk)