Try   HackMD

兔兔教 leetcode practice 上傳解法教學

前情提要

大家想說要來辦一個 leetcode 刷題讀書會,選用 github 作為共筆空間,每日一題,讓大家來解題!

主辦人:阿狗
github 空間創建者:兔兔兔神
經理人:小白(有事找小白,小白睡了再找兔兔兔神)

兔兔教刷題讀書會規則

  1. 每天中午公布題目
  2. 每天晚上十點半提交答案
  3. 未完成者請至少提供解題思路
  4. 按照發布順序一起輪流對每個人解法討論與優化
  5. 請自己計時花用時間
  6. 不能偷看解答或者搜尋解法,可以去了解題目可能用到的演算法

有任何疑問,記得看一下 FAQ


首先請先確定你有跟小白/兔兔兔神聯繫上
(優先聯繫小白,小白睡了才聯繫兔兔兔神喔~)
並且把 github 帳號給他並加入 github team 中喔~

不浪費太多篇幅,以下僅快速講過 git 指令

1. clone github repository (如果 clone 過就直接跳過囉~)

git clone https://github.com/Rabbittee/leet-codes.git

接著不要忘記切到 leet-codes 資料夾底下喔~
cd leet-codes

2. pull 一下

git pull origin main

3. 建造切換成自己的 branch

git checkout -b feature/day*_[name]_solution

上圖圖例
* -> 第幾天
[name] -> 你是誰
e.g.

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 add .

理論上,你應該不會動到其他東西才對,所以直接 add . 就好了
但是如果你只想 add 特定檔案,你可以這樣做:

git add ./[你的檔案路徑]

e.g.

git add ./day1/CXPhoenix/solution.py

6. commit

git commit

記得打上你是誰,你增加了什麼項目
e.g.
add CXPhoenix's solution with py

如果你想一排指令打完,也可以使用 git commit -m "[your commit]"

e.g.

git commit -m "add CXPhoenix's solution with py"

7. 重新 fetch 一下

git fetch origin

8. rebase (重要一定要做)

git rebase origin/main

9. push

git push

如果你是第一次(嘿嘿)上傳,那麼他會跳出一段話

git push --set-upstream origin [你的 branch 名稱]

那就不用怕,直接打下去就對了

10. 發 PR

之後記得到 github 上面發 pr

不會發 pr? 沒關係,你可以看看 同場加映

FAQ

  • 如果出現 403 怎麼辦?

    • 跟兔兔反應
  • 如果不知道怎麼算 Big-O 怎麼辦?

    • 有一本書不錯,可以參考
      Image Not Showing Possible Reasons
      • The image file may be corrupted
      • The server hosting the image is unavailable
      • The image path is incorrect
      • The image format is not supported
      Learn More →

    購買連結

  • 解不出來怎麼辦?

    • 不用擔心,練習 leetcode 不是考試,不用硬要解出來,有想法、能思辨才是最重要的。
  • 寫 Solution 的思考時一定要英文嗎?

    • 根據阿狗的回答:

    如果沒有求職計畫的話 就先用中文

    所以你懂的~

同場加映


關於兔兔們:

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →