Git Product home page Git Product logo

leetcode's Introduction

LeetCode

Travis Travis Travis Travis

简体中文 | English


leetcode.jpeg

项目预览

project-overview

可以清晰地看出仓库组织关系。

(你可以下载本仓库 和 obsidian 软件,然后用 obsidian 打开获得更好的阅读效果)

介绍

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

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

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

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

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

  • 第四部分是每日一题,每日一题是在交流群(包括微信和 qq)里进行的一种活动,大家一起 解一道题,这样讨论问题更加集中,会得到更多的反馈。而且 这些题目可以被记录下来,日后会进行筛选添加到仓库的题解模块。

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

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

非科学人士看过来

如果是国内的非科学用户,可以使用 https://lucifer.ren/leetcode ,整站做了静态化,速度贼快!但是阅读体验可能一般,大家也可以访问力扣加加(暂时没有静态化)获得更好的阅读体验。

另外需要科学的,我推荐一个工具, 用户体验真的是好,用起来超简单, 提供一站式工具,包括网络检测工具,浏览器插件等,支持多种客户端(还有我最喜欢的 Switch 加速器),价格也不贵,基础套餐折算到月大约 11.2 块/月。它还支持签到送天数,也就是说你可以每天签到无限续期。地址:https://glados.space/landing/M9OHH-Q88JQ-DX72D-R04RN

怎么刷 LeetCode?

刷题插件

91 天学算法

食用指南

  • 对于最近添加的部分, 后面会有 🆕 标注
  • 对于最近更新的部分, 后面会有 🖊 标注
  • 这里有一张互联网公司面试中经常考察的问题类型总结的思维导图,我们可以结合图片中的信息分析一下。

leetcode-zhihu

(图片来自 leetcode)

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

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

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

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

精彩预告

0042.trapping-rain-water:

0547.friend-circles:

backtrack problems:

0198.house-robber:

0454.4-sum-ii:

传送门

leetcode 经典题目的解析

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

数据结构与算法的总结

anki 卡片

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

全部卡片都在 anki-card

使用方法:

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

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

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

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

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

每日一题

每日一题是在交流群(包括微信和 qq)里通过 issues 来进行的一种活动,大家一起 解一道题,这样讨论问题更加集中,会得到更多的反馈。而且 这些题目可以被记录下来,日后会进行筛选添加到仓库的题解模块。

计划

  • anki 卡片 完善

  • 字符串类问题汇总

  • LeetCode 换皮题目集锦

  • 动态规划完善。最长递增子序列,最长回文子序列,编辑距离等“字符串”题目, 扔鸡蛋问题。 解题模板,滚动数组。

  • 堆可以解决的题目。 手写堆

  • 单调栈

  • BFS & DFS

哪里能找到我?

点关注,不迷路。如果再给 ➕ 个星标就更棒啦!

关注加加,星标加加~

关于我

擅长前端工程化,前端性能优化,前端标准化等,做过。net, 搞过 Java,现在是一名前端工程师,我的个人博客:https://lucifer.ren/blog/

我经常会在开源社区进行一些输出和分享,比较受欢迎的有 宇宙最强的前端面试指南我的第一本小书。目前本人正在写一本关于《leetcode 题解》的实体书,感兴趣的可以通过邮箱或者微信联系我,我会在出版的第一时间通知你,并给出首发优惠价。有需要可以直接群里联系我,或者发送到我的个人邮箱 [[email protected]]。 新书详情戳这里:《或许是一本可以彻底改变你刷 LeetCode 效率的题解书》

微信

支付宝

捐赠

点击查看完整的捐赠列表

贡献

  • 如果有想法和创意,请提 issue 或者进群提
  • 如果想贡献增加题解或者翻译, 可以参考贡献指南

    关于如何提交题解,我写了一份 指南

  • 如果需要修改项目中图片,这里 存放了项目中绘制图的源代码, 大家可以用 draw.io 打开进行编辑。

鸣谢

感谢为这个项目作出贡献的所有 小伙伴

License

CC BY-NC-ND 4.0

leetcode's People

Contributors

azl397985856 avatar ybian19 avatar raof01 avatar stonelyu avatar ztianming avatar kant-li avatar jojoxiaojing avatar snowan avatar edgeash avatar th-coder avatar feikerwu avatar suukii avatar logenleedev avatar evelynl09 avatar ruyadebaozi avatar 3460741663 avatar mingkhe avatar tzhang-ssr avatar wendygeng avatar watchpoints avatar fly0o0 avatar zhangjinyang avatar sunnynudt avatar fireairforce avatar lvguofeng1303 avatar jsycdut avatar xiongcaihu avatar lumiasaki avatar zhangbotong avatar yangsuli avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.