LeetCode是什麼? LeetCode 介面操作及經驗分享

公司簡介

LeetCode 是一家2015年於美國成立的軟體程式公司,是目前最廣被為人知的練習程式的地方,有非常多的程式題目與解答,而一切都是基於其堅實的用戶群(針對題目討論、分享解答)

而因為其題目來源,多出自各知名軟體公司面試而來,故除了想磨練技術的工程師外,也被當成很多人面試練習的考古題庫

三分鐘完成LeetCode註冊

那讓我們開始吧!

首先先到官網 : LeetCode – The World’s Leading Online Programming Learning Platform

LeetCode官網首頁

我們可以看到官網首頁的文字是這麼說的

“一個學習的新方法

LeetCode 是一個能幫助你提升自己的技術、擴充自己的知識跟準備資訊公司面試最好的平台”

聽起來確實挺厲害的,那我們先從旁邊的 「Create Account」開始吧

點擊後進到建立帳戶頁面

LeetCode  Account SignUp
LeetCode註冊

可以選擇透過 Google、GitHub或是Facebook直接授權登入

或是填完以上4欄資料後,點擊「Sign Up」 註冊鈕 ➔ 其實這時候已經註冊完了,可以去收驗證信

即會進入下一個頁面(基本資料設定,非必要)

我不是學生了嗚嗚嗚

根據身分選擇是「學生」或是「專業人員」

學生的話選這裡
專業人士選這裡

第一個問題 : 還有多久畢業(專業人員的話則為有幾年資歷)

第二個問題 : 專業科目/科系(專業人員為目前角色/職業)

之後的兩頁因選項都一樣,故以學生版本為例

想要的工作

很貼心的為了像筆者這種有選擇困難的傢伙,準備了一個「Not sure right now/現在還不確定」的選項

面試準備(剩餘)時間

面試準備(剩餘)時間

這時候我們回來收下驗證信

LeetCode註冊驗證信

點擊信上連結,即完成LeetCode帳號開通

LeetCode各頁面介紹

可以看到上面分為很多不同的區塊,這次就來分別介紹下

Explore 探索

LeetCode Explore Page

可以看到有很多學習課程可以參加,裡面大部分是免費的,只有一些有關大公司的要升級為Premium才能解鎖,如果想要增進特定方向的能力,很適合來這裡尋找

Problems 問題

**(之後寫了一篇詳細的整理,這裡看-LeetCode 解題區介紹 & 介面改版前後差異 )

LeetCode Problems Page

這裡就是LeetCode的核心所在,滿滿2000多題(部分題目需升級為Premium解鎖)

  • 左邊的區塊 – 題目們,可以透過各類狀態進行搜尋及排序(難度、完成狀態、標籤…等)
  • 右邊上面的區塊 – 五月的挑戰,每天都會有隨機的一題,每日都有完成的話就可以得到徽章的樣子
  • 右邊下面的區塊 – 可按公司選擇題目(為Premium功能)

我們實際點進一個問題試試

LeetCode 第一題

左邊是題目敘述,也可以將題目加進自訂義清單中(筆者遇上看不懂或卡關的都會加進去,之後再回來看哈哈)

加入自定義清單
  • Solution : 官方提供的詳細解答(部分題目需升級為Premium解鎖)
  • Discuss : 討論區,可以看到各語言的解答以及分享(可能偶爾也會看到筆者我)
  • Submissions : 個人提交紀錄,會有提交狀況(成功/失敗)、運行時間、運行空間、使用語言

Submissions

提交結果範例

提交記錄這裡可以看到提交時間、狀態、運行時間、使用空間及使用語言

還可以看到跟同語言提交之間的比較

右側則是程式碼撰寫及編譯的地方

LeetCode 可選擇語言

高達18種程式語言可供選擇 ( 像是筆者常用的C#, Java, Python3, JavaScript都在裡面 )

可自訂測試案例,或直接使用範例的案例(Use Example Testcases)

ERROR!!

Run Code Result 可顯示編譯結果

Contest 競賽

LeetCode每周都有舉辦線上競賽,為時均為1個半小時,共有4題,可用任意自己喜歡的語言作答

LeetCode Contest

可以看到共分為兩個競賽,分為是Weekly 跟 Biweekly,分別對應單週跟雙週

競賽的排名是採積分制,4題依難度有不同的分數

同積分的話就會以完成時間來排序

舉某次比賽來當例子(不要問怎麼那麼慘,筆者當時腦袋當機了…)

LeetCode Contest result

比賽時會沒那麼即時的更新,這張截圖是事後的

可以看到筆者的第一題旁邊有隻Bug寫著1,這就代表那時候送交過錯的答案,是有加時的懲罰的(5分鐘)

事後進來點擊各題時間旁邊的圖標,是可以看到那個人成功送交的答案,所以可以學習他人的邏輯(有大神快拜!!!)

Interview 面試

為一個新功能,看官方介紹似乎是方面企業直接用LeetCode題目線上面試的樣子

還沒實際測試過,有機會再更新後續…

Discuss 討論

LeetCode Discuss 區

這裡的討論區又跟Problems那裏的不同,Problems那裏是針對當題的討論,這裡則包含了很多不同面向,可以看到面試問題、職涯、學習引導…等

LeetCode 個人頁面介紹 – Personal Page

點擊右上方頭像即可進入個人頁面 – 我的頁面範例

LeetCode 個人頁面

共可分為8個大區塊,分別為

  1. 個人檔案 – 名字、解題排名、地點、網頁…等
  2. 社群狀態 – 多少人看過、提出多少解答(Problems Discuss)、Discuss頁面?
  3. 分為兩塊,上區為解題使用過的語言、下區為解答了哪些類型的題目
  4. 競賽狀態 – 參加過的競賽及競賽的世界排名、百分比
  5. 解決的問題 – 依困難度劃分,可以看到超過幾%的人
  6. 徽章 – 像是每月的每日問題有解完就可以得到
  7. 提交狀態 – 有用過GitHub的朋友應該很熟悉,主要就是總提交次數及每日分布
  8. 又可分為3區
    • Recent AC – 過去通過的送交(AC即為英文的Accepted),右上角可以點到更詳細的要面
    • Solutions – 在Problems Discuss提出的解答
    • Discuss – 筆者還沒用到,但應該就是該帳號在Discuss區提出的討論

附上8-2的Solutions

個人頁 解答
Personal Page Solutions

結論

到這裡就介紹完基本的LeetCode頁面了,希望能幫上大家一點忙,一起快樂地來刷題

有任何問題也歡迎在文章下方留言讓我知道 ( 當然也可以直接透過Messenger聯絡粉絲專頁 )

"When I wrote this code, only God and I understood what I did. Now only God knows."

寫程式記得寫註解啊…那救的是未來的自己 (當然如果你會通靈的話可以不用!?)

相關文章

LeetCode 解題區介紹 & 介面改版前後差異 – 程式美食研究中心 (zyrastory.com)

最新文章

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *