---
title: "兔兔教 leetcode practice 上傳解法教學"
tags: "README"
---
兔兔教 leetcode practice 上傳解法教學
===
## 前情提要
大家想說要來辦一個 leetcode 刷題讀書會,選用 github 作為共筆空間,每日一題,讓大家來解題!
:::warning
> 主辦人:阿狗
> github 空間創建者:兔兔兔神
> 經理人:小白(有事找小白,小白睡了再找兔兔兔神)
兔兔教刷題讀書會規則
1. 每天中午公布題目
2. 每天晚上十點半提交答案
3. 未完成者請至少提供解題思路
4. 按照發布順序一起輪流對每個人解法討論與優化
5. 請自己計時花用時間
6. 不能偷看解答或者搜尋解法,可以去了解題目可能用到的演算法
有任何疑問,記得看一下 [FAQ](https://hackmd.io/@lalarabbits/BkMbq6fAO#FAQ)
:::
---
:::info
<center>首先請先確定你有跟小白/兔兔兔神聯繫上</center>
<center>(優先聯繫小白,小白睡了才聯繫兔兔兔神喔~)</center>
<center>並且把 github 帳號給他並加入 github team 中喔~</center>
:::
> 不浪費太多篇幅,以下僅快速講過 git 指令
## 1. clone github repository (如果 clone 過就直接跳過囉~)
```git
git clone https://github.com/Rabbittee/leet-codes.git
```
:::info
接著不要忘記切到 leet-codes 資料夾底下喔~
`cd leet-codes`
:::
## 2. pull 一下
```git
git pull origin main
```
## 3. 建造切換成自己的 branch
```git
git checkout -b feature/day*_[name]_solution
```
:::info
上圖圖例
\* -> 第幾天
[name] -> 你是誰
e.g.
```git
git checkout -b feature/day1_cxphoenix_solution
```
:::
## 4. 開到該天的資料夾並且在下面建構你自己的資料夾,並在自己的資料夾中放入你的程式碼 solution.* 以及解法說明文件 README.md
`solution.*` 就看你用什麼什麼語言囉~
e.g. `solution.py`
README.md 文件請使用英文,裡面你應該含有以下項目:
  1. 題目編號 題目標題 題目內容
  2. 解題思路
  3. 程式碼附完整註解
  4. 時間複雜度
## 5. add
```git
git add .
```
:::info
理論上,你應該不會動到其他東西才對,所以直接 add . 就好了
但是如果你只想 add 特定檔案,你可以這樣做:
```git
git add ./[你的檔案路徑]
```
e.g.
```git
git add ./day1/CXPhoenix/solution.py
```
:::
## 6. commit
```git
git commit
```
記得打上你是誰,你增加了什麼項目
e.g.
add CXPhoenix's solution with py
:::info
如果你想一排指令打完,也可以使用 `git commit -m "[your commit]"`
e.g.
```git
git commit -m "add CXPhoenix's solution with py"
```
:::
## 7. 重新 fetch 一下
```git
git fetch origin
```
## 8. rebase **(重要一定要做)**
```git
git rebase origin/main
```
## 9. push
```git
git push
```
:::info
如果你是第一次(嘿嘿)上傳,那麼他會跳出一段話
```git
git push --set-upstream origin [你的 branch 名稱]
```
那就不用怕,直接打下去就對了
:::
## 10. 發 PR
之後記得到 github 上面發 pr
不會發 pr? 沒關係,你可以看看 **同場加映** ~
## FAQ
* 如果出現 403 怎麼辦?
* 跟兔兔反應
* 如果不知道怎麼算 Big-O 怎麼辦?
* 有一本書不錯,可以參考

[購買連結](https://www.momoshop.com.tw/goods/GoodsDetail.jsp?i_code=8791309&Area=search&mdiv=403&oid=1_1&cid=index&kw=%E7%99%BD%E8%A9%B1%E6%BC%94%E7%AE%97%E6%B3%95)
* 解不出來怎麼辦?
* 不用擔心,練習 leetcode 不是考試,不用硬要解出來,有想法、能思辨才是最重要的。
* 寫 Solution 的思考時一定要英文嗎?
* 根據阿狗的回答:
:::danger
如果沒有求職計畫的話 就先用中文
:::
所以你懂的~
## 同場加映
* [如何發PR?你可以參考原本翻譯操作 git 的那一篇](https://hackmd.io/0mc-X9-GRZK3rZ4DQ263KA#5-push-%E6%88%90%E5%8A%9F%E4%B9%8B%E5%BE%8C%E8%A6%81%E4%B8%8A%E5%8E%BB-github-%E5%BB%BA%E7%AB%8B-pull-request)
---
#### 關於兔兔們:
- [Tailwind CSS 臺灣官網](https://tailwindcss.tw)
- [Tailwind CSS 臺灣](https://www.facebook.com/tailwindcss.tw) (臉書粉絲專頁)
- [兔兔教大本營](https://www.facebook.com/lalarabbits-%E5%85%94%E5%85%94%E6%95%99%E5%A4%A7%E6%9C%AC%E7%87%9F-102150975410839/)
