/leetcode

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

Primary LanguageJavaScript

介绍

leetcode.jpeg

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

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

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

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

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

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

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

食用指南

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

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

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

  • 这里有一份leetcode官方账号在知乎上给出的一个《互联网公司最常见的面试算法题有哪些?》的答案,我这里尽量去覆盖回答中的题目和知识点 原文地址: https://www.zhihu.com/question/24964987/answer/586425979

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

leetcode-zhihu

(图片来自leetcode)

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

  • 基础技巧:分治、二分、贪心
  • 排序算法:快速排序、归并排序、计数排序
  • 搜索算法:回溯、递归、深度优先遍历,广度优先遍历,二叉搜索树等
  • 图论:最短路径、最小生成树
  • 动态规划:背包问题、最长子序列

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

  • 数组与链表:单 / 双向链表
  • 栈与队列
  • 哈希表
  • 堆:最大堆 / 最小堆
  • 树与图:最近公共祖先、并查集
  • 字符串:前缀树(字典树) / 后缀树

精彩预告

42.trapping-rain-water-1(雨水收集问题):

42.trapping-rain-water

浏览器中的栈:

basic-data-structure-call-stack

回溯法解题:

backtrack

  1. koko-eating-bananas:

koko-eating-bananas

传送门

leetcode 经典题目的解析

简单难度

中等难度

困难难度

数据结构与算法的总结

anki 卡片

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

全部卡片都在anki-card

使用方法:

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

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

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

  • 二分法解决问题的关键点是什么,相关问题有哪些
  • 如何用栈的特点来简化操作, 涉及到的题目有哪些?
  • 双指针问题的思路以及相关题目有哪些?
  • 滑动窗口问题的思路以及相关题目有哪些?
  • 回溯法解题的思路以及相关题目有哪些?

计划

交流群

现在还是初级阶段,需要大家的意见和反馈,为了减少沟通成本,我组建了交流群。大家可以扫码进入

qq-group-chat

(qq 群)

wechat-group-chat

(由于微信的限制,100个人以上只能邀请加入, 你可以添加我的机器人回复“leetcode”拉你进群)