来源:https://github.com/azl397985856/leetcode

介绍

leetcode 题解,记录自己的 leetcode 解题之路。

本仓库目前分为五个部分:

  • 第一个部分是 leetcode 经典题目的解析,包括思路,关键点和具体的代码实现。

  • 第二部分是对于数据结构与算法的总结

  • 第三部分是 anki 卡片, 将 leetcode 题目按照一定的方式记录在 anki 中,方便大家记忆。

  • 第四部分是每日一题

  • 第五部分是计划, 这里会记录将来要加入到以上三个部分内容

只有熟练掌握基础的数据结构与算法,才能对复杂问题迎刃有余。

使用指南

  • 对于最近添加的部分, 后面会有 ? 标注

  • 对于最近更新的部分, 后面会有 ? 标注

  • 将来会在这里更新anki卡片

  • 这里有一张互联网公司面试中经常考察的问题类型总结的思维导图,我们可以结合图片中的信息分析一下。

其中算法,主要是以下几种:

  • 基础技巧:分治、二分、贪心

  • 排序算法:快速排序、归并排序、计数排序

  • 搜索算法:回溯、递归、深度优先遍历,广度优先遍历,二叉搜索树等

  • 图论:最短路径、最小生成树

  • 动态规划:背包问题、最长子序列

数据结构,主要有如下几种:

  • 数组与链表:单 / 双向链表

  • 栈与队列

  • 哈希表

  • 堆:最大堆 / 最小堆

  • 树与图:最近公共祖先、并查集

  • 字符串:前缀树(字典树) / 后缀树

精彩预告

0042.trapping-rain-water:

浏览器中的栈:

backtrack problems:

0198.house-robber:

0454.4-sum-ii:

Top题目进度

  • Top 100 Liked Questions (54 / 100)

  • Top Interview Questions (82 / 145)

传送门

leetcode 经典题目的解析

这里仅列举具有代表性题目,并不是全部题目

简单难度

  • 0020.Valid Parentheses

  • 0026.remove-duplicates-from-sorted-array

  • 0088.merge-sorted-array

  • 0104.maximum-depth-of-binary-tree ?

  • 0121.best-time-to-buy-and-sell-stock

  • 0122.best-time-to-buy-and-sell-stock-ii

  • 0125.valid-palindrome ?

  • 0136.single-number

  • 0155.min-stack ?

  • 0167.two-sum-ii-input-array-is-sorted

  • 0172.factorial-trailing-zeroes ?

  • 0169.majority-element

  • 0190.reverse-bits

  • 0191.number-of-1-bits

  • 0198.house-robber

  • 0203.remove-linked-list-elements

  • 0206.reverse-linked-list

  • 0219.contains-duplicate-ii

  • 0226.invert-binary-tree

  • 0263.ugly-number

  • 0283.move-zeroes

  • 0342.power-of-four

  • 0349.intersection-of-two-arrays

  • 0371.sum-of-two-integers

  • 0575.distribute-candies

中等难度

  • 0002. Add Two Numbers

  • 0003. Longest Substring Without Repeating Characters

  • 0005.longest-palindromic-substring ?

  • 0011.container-with-most-water

  • 0015.3-sum

  • 0019. Remove Nth Node From End of List

  • 0024. Swap Nodes In Pairs

  • 0029.divide-two-integers ?

  • 0039.combination-sum

  • 0040.combination-sum-ii

  • 0046.permutations

  • 0047.permutations-ii

  • 0048.rotate-image ?

  • 0049.group-anagrams ?

  • 0055.jump-game

  • 0056.merge-intervals

  • 0062.unique-paths

  • 0073.set-matrix-zeroes

  • 0075.sort-colors

  • 0078.subsets

  • 0086.partition-list

  • 0090.subsets-ii

  • 0091.decode-ways

  • 0092.reverse-linked-list-ii

  • 0094.binary-tree-inorder-traversal

  • 0098.validate-binary-search-tree ?

  • 0102.binary-tree-level-order-traversal

  • 0103.binary-tree-zigzag-level-order-traversal

  • 0131.palindrome-partitioning ?

  • 0139.word-break

  • 0144.binary-tree-preorder-traversal

  • 0150.evaluate-reverse-polish-notation

  • 0152.maximum-product-subarray

  • 0199.binary-tree-right-side-view

  • 0201.bitwise-and-of-numbers-range

  • 0208.implement-trie-prefix-tree

  • 0209.minimum-size-subarray-sum

  • 0230.kth-smallest-element-in-a-bst

  • 0236.lowest-common-ancestor-of-a-binary-tree?

  • 0238.product-of-array-except-self

  • 0240.search-a-2-d-matrix-ii

  • 0279.perfect-squares

  • 0309.best-time-to-buy-and-sell-stock-with-cooldown ?

  • 0322.coin-change

  • 0328.odd-even-linked-list

  • 0334.increasing-triplet-subsequence

  • 0365.water-and-jug-problem

  • 0416.partition-equal-subset-sum

  • 0445.add-two-numbers-ii

  • 0454.4-sum-ii

  • 0494.target-sum

  • 0516.longest-palindromic-subsequence ?

  • 0518.coin-change-2

  • 0609.find-duplicate-file-in-system ?

  • 0875.koko-eating-bananas

  • 0877.stone-game

  • 0887.super-egg-drop

  • 0900.rle-iterator

  • 1031.maximum-sum-of-two-non-overlapping-subarrays ?

困难难度

  • 0023.merge-k-sorted-lists

  • 0032.longest-valid-parentheses ?

  • 0042.trapping-rain-water

  • 0128.longest-consecutive-sequence ?

  • 0145.binary-tree-postorder-traversal

  • 0146.lru-cache

  • 0239.sliding-window-maximum

  • 0295.find-median-from-data-stream ?

  • 0301.remove-invalid-parentheses

数据结构与算法的总结

  • 数据结构(草稿)

  • 基础算法(草稿)

  • 二叉树的遍历

  • 动态规划

  • 哈夫曼编码和游程编码

  • 布隆过滤器

  • 字符串问题

anki 卡片

Anki主要分为两个部分:一部分是关键点到题目的映射,另一部分是题目到思路,关键点,代码的映射。

全部卡片都在anki-card

使用方法:

anki - 文件 - 导入 - 下拉格式选择“打包的 anki集合”,然后选中你下载好的文件,确定即可。

更多关于anki使用方法的请查看anki官网

目前已更新卡片一览(仅列举正面):

  • 二分法解决问题的关键点是什么,相关问题有哪些?

  • 如何用栈的特点来简化操作, 涉及到的题目有哪些?

  • 双指针问题的思路以及相关题目有哪些?

  • 滑动窗口问题的思路以及相关题目有哪些?

  • 回溯法解题的思路以及相关题目有哪些?

  • 数论解决问题的关键点是什么,相关问题有哪些?

  • 位运算解决问题的关键点是什么,相关问题有哪些?

已加入的题目有:#2 #3 #11

每日一题

  • 每日一题汇总

  • 每日一题认领区

计划

  • anki 卡片 完善

  • 字符串类问题汇总

互联网大厂算法面试题集合,看完我跪了!相关推荐

  1. 互联网大厂2021中秋礼盒pk,看完我又酸了……

    作者丨魏宇卓 来源丨运营研究社(ID: U_quan) 马上又要到中秋节啦! 每年中秋节,我最喜欢的就是吃着在便利店买的寒酸月饼,围观互联网大厂们在中秋礼盒上互相 battle. 今年,大厂的月饼礼盒 ...

  2. 羡慕!各大互联网大厂年终奖一览表,看完我酸了~

    又到了一年年底,又开始冒出各家发年终奖的新闻,由此盘点下国内知名互联网/软件公司的年终奖. 腾讯:春节前 一般来说,腾讯的正常部门能拿到3-6个月薪资的年终奖,业绩好的部门甚至可以拿到24-48个月的 ...

  3. Github惊现高星神作,两份算法宝典让你横扫大厂算法面试题

    前言 有些小伙伴可能会有疑惑,为什么面试总喜欢问算法与数据结构问题,这是有原因的 首先,算法能看出一个程序员的 基本功 ,数据结构与算法是计算机领域里面最最基础的学科,其他更高级的领域都或多或少都涉及 ...

  4. 最近面试的几个大厂算法面试题汇总

    最近接受了一波社会毒打,几个大厂都经历了好几轮技术面试,面试形式有电话.语音.视频.现场面,内容主要集中在以往工作经历及项目经验.算法知识及理论.算法编程及工程能力.场景案例及分析,好在面试结果比较满 ...

  5. 一周刷爆LeetCode,算法da神左神(左程云)耗时100天打造算法与数据结构基础到高级全家桶教程,直击BTAJ等一线大厂必问算法面试题真题详解 笔记

    一周刷爆LeetCode,算法大神左神(左程云)耗时100天打造算法与数据结构基础到高级全家桶教程,直击BTAJ等一线大厂必问算法面试题真题详解 笔记 教程与代码地址 P1 出圈了!讲课之外我们来聊聊 ...

  6. 每日算法面试题,大厂特训二十八天——第十四天(数组)

    本文来源于算法面试题特训专栏,这里有大量专业性的算法题比如(动态规划21天,大厂特训28天等等) 欢迎大家一起学习. 链接:传送门 目录标题 导读 算法特训二十八天 面试题 点击直接资料领取 导读 肥 ...

  7. 每日算法面试题,大厂特训二十八天——第十五天(字符串)

    本文来源于算法面试题特训专栏,这里有大量专业性的算法题比如(动态规划21天,大厂特训28天等等) 欢迎大家一起学习. 链接:传送门 目录标题 导读 算法特训二十八天 面试题 点击直接资料领取 导读 肥 ...

  8. 程序员应该掌握的经典算法面试题

    不忘初心,方得始终.何谓"初心"?初心便是在深度学习.人工智能呼风唤雨的时代,对数据和结论之间那条朴素之路的永恒探寻,是集前人之大智,真诚质朴求法向道的心中夙愿. 没有最好的分类器 ...

  9. 数据结构与算法面试题(2022版)

    序列号 内容 链接 1 Java基础知识面试题(2022版) https://blog.csdn.net/qq_43061290/article/details/124023797 2 Java集合容 ...

最新文章

  1. 长见识!居然还有程序员考公指南这种东西?
  2. chapter 01
  3. mysql读书笔记---mysql safe update mode
  4. 作业自动提示功能设计思路
  5. 华为mate40搭载鸿蒙,华为mate40搭载鸿蒙还是EMUI11,答案来了
  6. wifi 信道_WiFi网速太慢,四招就可以让无线网络变得顺畅
  7. 那些用起来很爽,但用不好可能会被人打的Python骚操作
  8. Redis笔记(一)
  9. SpringBoot实现的简单停车位管理系统
  10. C++实践笔记(四)----AVL树的简单实现
  11. 图解算法之排序算法(1)——冒泡排序
  12. Python 模拟简单区块链
  13. sw修改器初始化服务器错误,solidworks打开出现Loadlibrary failed with error 1114:动态链接库(DLL)初始化例程失败如何解决?...
  14. [Swift] 成语我抖Wordle成语猜谜游戏
  15. ad采样频率_涨知识!模拟信号采样与AD转换详解
  16. Fluent 全流程求解多孔介质算例
  17. java英语单词查询,输入一个单词根据字典查询单词意思
  18. Windows两台服务器之间实现文件共享
  19. android震动代码分析
  20. 一文尽览 | 计算机视觉中的鱼眼相机模型及环视感知任务汇总!

热门文章

  1. 信息系统项目管理师-挣值管理(PV、 AC、 EV、 ETC、 CV、 SV、 CPI、 SP)
  2. 用C语言实现三子棋游戏
  3. 组策略 之 文件夹重定向
  4. APACHE如何里一个站点绑定多个域名?用ServerAlias
  5. 生产环境中配置的samba
  6. Delphi XE2 之 FireMonkey 入门(13) - 动画(下)
  7. poj 3177 Redundant Paths
  8. C# 通用Clone
  9. 解决sqlserver1433端口占用问题
  10. Mysql学习积累之一[网摘收藏 个人学习参考]