# LeetCode-Offer
**Repository Path**: SFanTX/LeetCode-Offer
## Basic Information
- **Project Name**: LeetCode-Offer
- **Description**: LeetCode + 剑指 Offer = 💰
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: https://veal98.github.io/LeetCode-Offer/
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2021-10-07
- **Last Updated**: 2021-10-07
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
    
LeetCode-Offer
    
## ☕ 关于仓库
仓库地址:
- Gitee(国内访问速度较快):[LeetCode-Offer: LeetCode + 剑指 Offer = 💰 (gitee.com)](https://gitee.com/veal98/LeetCode-Offer)
- Github:[Veal98/LeetCode-Offer: LeetCode + 剑指 Offer = 💰 (github.com)](https://github.com/Veal98/LeetCode-Offer)
在线观看:
- [LeetCode-Offer (veal98.github.io)](https://veal98.github.io/LeetCode-Offer/)
你所看到的所有文档都在 `docs/01.题解` 目录下,如果在线网址打不开,可以去仓库中看原文
另外,由于各大厂的笔试采用的都是 **ACM 模式**,需要自己手动处理输入和输出(可以去 牛客题霸 上看看),而非 LeetCode 那种**核心代码模式**,所以大部分代码我都自行进行了扩充,全部代码都在 `code` 目录下(文档中贴的仍然是核心代码):

## 🙋 关于刷题
时代变了,疯狂内卷的大背景下,对算法的要求也越来越高,面试官扔上来的几道算法题做不出来基本上就挂了。**不刷题 = 没大厂 Offer**
而像我这样的一个小垃圾,没多么出众,没打过什么比赛,平时学习也不是很努力,脑子也不怎么聪明,面试中没见过的题百分之八九十是做不出来的,所以呢,我就只能靠着多刷题多总结吧~
事实上,我之前刷题总是没有章法可循,非常容易半途而废,之前刷过左神的《程序员代码指南》,感觉体系不是很完善就中途做罢了,所以建立本仓库的初衷其实一部分也是想要督促自己能够每天更新。
不知道各位是不是和我一样,反正我不太喜欢那种无脑刷题的感觉,我得先过一遍理论知识或者整体的算法思想框架然后再开始对应的刷题,而不是上来就直接 Top100 之类的,我觉得这样不成体系,效果可能也不是太好。简单来说呢,我的刷题理念就是:**先理论后刷题,掌握算法思想后再有针对性地去刷经典题**。
基于这样一个刷题理念,需要非常完善的知识体系,显然不是我当下能够具备的,所以,仓库中的这个刷题顺序并不是我自己琢磨出来的,参考了下面的很多大佬:
- [代码随想录](https://www.programmercarl.com/),ACM 大佬,题目按照难易程度循序渐进,真的是宝藏大佬了,而且也非常符合我的刷题理念
- [labuladong 的算法小抄](https://labuladong.gitbook.io/algo/di-ling-zhang-bi-du-xi-lie/er-fen-cha-zhao-xiang-jie#si-luo-ji-tong-yi),非常火的《算法小抄》的作者,给的算法模板很不错
- [CS-Notes (cyc2018.xyz)](http://www.cyc2018.xyz/#算法) 这个就不用多说了
站在众多大佬的肩膀上,结合《剑指 Offer》和其他资料,自己做了一些扩展和总结,总的来说会按照这样一个顺序:
1. 先是数据结构强相关的
- 数组
- 链表
- 哈希表
- 字符串
- 栈与队列
- 二叉树
2. 然后是常见的算法思想
- 二分查找
- 双指针法
- 回溯算法
- 贪心算法
- 动态规划
- 单调栈
## ⭐ 刷题小 Tip
大伙儿刷题的时候可以把收藏点起来,新建两个列表 A 和 B,刷过的题目全部放在列表 A 中,其中不会做的题目或者有一些小问题的题目放在另一个列表 B 里,二刷三刷的时候,会做的题目就从第二个列表 B 里面踢出去,这样会比较清晰。

## 🍭 刷题打卡
下方扫码免费进入灯塔打卡小程序的学习小组,来比比到底谁更卷:


## 🎓 关于我
博主东南大学硕士在读,携程后台开发暑期实习生,成长的 Javaer,芸芸众生中的普通学子,热爱健身与篮球,最大的梦想就是赚很多钱。
我的公众号:**飞天小牛肉**,2020/12/29 日开通,专注于分享计算机基础(数据结构 + 算法 + 计算机网络 + 数据库 + 操作系统 + Linux)和 Java 相关技术栈的原创技术好文,**让大家可以快速掌握重点知识,有的放矢**。下方扫码关注第一时间获取干货更新:
另外,如果各位小伙伴春招秋招没有拿得出手的项目的话,可以参考这个 [「开源社区系统 Echo」Gitee 官方推荐项目,目前已累计 1.1k+ star](https://gitee.com/veal98/Echo),基于 SpringBoot + MyBatis + MySQL + Redis + Kafka + Elasticsearch + Spring Security + ... 并提供详细的开发文档和配套教程。公众号后台回复 `Echo` 可以获取配套手把手教程,目前尚在更新中