# README

leetcode暂时不支持`dart`语言。不过以`flutter`发展趋势，以后肯定会支持的。所以现在可以用[dartpad](https://dartpad.dev/)进行在线调试。

**惨痛的经历写在最前面：别想着走捷径**

如真的想练习算法。除了刷题 没有其他好办法。一句话别想着走捷径,靠看几套视频和几套模板就可以搞定一切这不现实。 练习算法就是要长期坚持和慢慢积累。

我感觉最初学算法或者技术最坑逼的就是想走捷径。因为自己能走的捷径别人也能走，最后就是大家一起走投无路。

如果有人告诉你学习算法有捷径，大概率不是想骗你钱就是想骗你流量。

## 在线文档

Github:[仓库地址](https://github.com/Esdeath/algorithm-pattern-dart)

在线文档 Gitbook：[算法模板 🔥](https://ayaseeri.gitbook.io/algorithm-pattern-dart/)

在线调试：[dartpad 🔥](https://dartpad.dev/)

## 核心内容

### 入门篇 🐶

* [dart 语言入门](https://ayaseeri.gitbook.io/algorithm-pattern-dart/ru-men-pian/dart)
* [算法快速入门](https://ayaseeri.gitbook.io/algorithm-pattern-dart/ru-men-pian/quickstart)

### 数据结构篇 🐰

* [二叉树](https://ayaseeri.gitbook.io/algorithm-pattern-dart/shu-ju-jie-gou-pian/binary_tree)
* [链表](https://ayaseeri.gitbook.io/algorithm-pattern-dart/shu-ju-jie-gou-pian/linked_list)
* [栈和队列](https://ayaseeri.gitbook.io/algorithm-pattern-dart/shu-ju-jie-gou-pian/stack_queue)
* [二进制](https://ayaseeri.gitbook.io/algorithm-pattern-dart/shu-ju-jie-gou-pian/binary_op)

### 基础算法篇 🐮

* [二分搜索](https://ayaseeri.gitbook.io/algorithm-pattern-dart/ji-chu-suan-fa-pian/binary_search)
* [排序算法](https://ayaseeri.gitbook.io/algorithm-pattern-dart/ji-chu-suan-fa-pian/sort)
* [动态规划](https://ayaseeri.gitbook.io/algorithm-pattern-dart/ji-chu-suan-fa-pian/dp)

### 算法思维 🦁

* [递归思维](https://ayaseeri.gitbook.io/algorithm-pattern-dart/suan-fa-si-wei/recursion)
* [滑动窗口思想](https://ayaseeri.gitbook.io/algorithm-pattern-dart/suan-fa-si-wei/slide_window)
* [二叉搜索树](https://ayaseeri.gitbook.io/algorithm-pattern-dart/suan-fa-si-wei/binary_search_tree)
* [回溯法](https://ayaseeri.gitbook.io/algorithm-pattern-dart/suan-fa-si-wei/backtrack)

## 推荐的刷题路径

按此 repo 目录刷一遍，如果中间有题目卡住了先跳过，然后刷题一遍 LeetCode 探索基础卡片，最后快要面试时刷题一遍剑指 offer。

为什么这么要这么刷，因为 repo 里面的题目是按类型归类，都是一些常见的高频题，很有代表性，大部分都是可以用模板加一点变形做出来，刷完后对大部分题目有基本的认识。然后刷一遍探索卡片，巩固一下一些基础知识点，总结这些知识点。最后剑指 offer 是大部分公司的出题源头，刷完面试中基本会遇到现题或者变形题，基本刷完这三部分，大部分国内公司的面试题应该就没什么问题了\~

1、 [algorithm-pattern 练习题](https://ayaseeri.gitbook.io/algorithm-pattern-dart/)

![练习题](https://img.fuiboom.com/img/repo_practice.png)

2、 [LeetCode 卡片](https://leetcode-cn.com/explore/)

![探索卡片](https://img.fuiboom.com/img/leetcode_explore.png)

3、 [剑指 offer](https://leetcode-cn.com/problemset/lcof/)

![剑指offer](https://img.fuiboom.com/img/leetcode_jzoffer.png)

> 注意点：如果为了找工作刷题，遇到 hard 的题如果有思路就做，没思路先跳过，先把基础打好，再来刷 hard 可能效果会更好\~

## 完成打卡

完成计划之后，可以提交 Pull requests，在下面添加自己的项目仓库，完成自己的算法模板打卡呀\~

| 完成 | 用户                                                | 项目地址                                                                                                                                                     |
| -- | ------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ✅  | [easyui](https://github.com/easyui/)              | [algorithm-pattern-swift(Swift 实现)](https://github.com/easyui/algorithm-pattern-swift),[在线文档 Gitbook](https://zyj.gitbook.io/algorithm-pattern-swift/)   |
| ✅  | [wardseptember](https://github.com/wardseptember) | [notes(Java 实现)](https://github.com/wardseptember/notes)                                                                                                 |
| ✅  | [dashidhy](https://github.com/dashidhy)           | [algorithm-pattern-python(Python 实现)](https://github.com/dashidhy/algorithm-pattern-python)                                                              |
| ✅  | [binzi56](https://github.com/binzi56)             | [algorithm-pattern-c(c++ 实现)](https://github.com/binzi56/algorithm-pattern-c)                                                                            |
| ✅  | [lvseouren](https://github.com/lvseouren)         | [algorithm-study-record(c++ 实现)](https://github.com/lvseouren/algorithm-study-record)                                                                    |
| ✅  | [chienmy](https://github.com/chienmy)             | [algorithm-pattern-java(Java 实现)](https://github.com/chienmy/algorithm-pattern-java), [在线文档 Gitbook](https://chienmy.gitbook.io/algorithm-pattern-java/) |
| ✅  | [ligecarryme](https://github.com/ligecarryme)     | [algorithm-pattern-JavaScript(JS+TS实现)](https://github.com/ligecarryme/algorithm-pattern-JavaScript)                                                     |
| ✅  | [greyireland](https://github.com/greyireland)     | [algorithm-pattern-go(go实现)](https://greyireland.gitbook.io/algorithm-pattern/)                                                                          |
| ✅  | [Esdeath](https://github.com/Esdeath)             | [algorithm-pattern-dart(dart实现)](https://github.com/Esdeath/algorithm-pattern-dart),[在线文档 Gitbook](https://ayaseeri.gitbook.io/algorithm-pattern-dart/)  |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ayaseeri.gitbook.io/algorithm-pattern-dart/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
