用Python刷面試算法題如leetcode是怎樣的體驗?
當然,Python是我推薦的刷算法題的最好語言,沒有之一。
第一,Python的語法夠簡單,你不需要被語言細節弄得礙手礙腳。假設你用C語言,那么內存、指針就得虐你一遍,還能剩下多少精力去研習算法?刷算法時,語言只是載體,是工具,絕不不能被語言所束縛,Python在這一點上占據絕對的優勢。
第二,Python雖然簡單,但語言特性應有盡有,一點不差。Python雖然簡單,但特性是很豐富的,如面向對象、函數式編程等方面,一個不缺,簡單好用,代碼看上去也很簡潔。其他的語言,要不太過于基礎(C/C++等)而缺乏高級特性,要不就很fancy(例如JavaScript,搞個面向對象還要牽扯到原型鏈之類的對象),搞個并行化還要通過異步,不像Python,特性夠多,且很簡潔。
第三,Python是動態語言,不需要編譯,寫完直接跑,又增加了方便性。像C/C++/Java這些語言,寫完要編譯或依賴虛擬機執行,多了這一步其實就多了些障礙,而我們刷算法題時,要的就是沉浸式的體驗,不要被這些所妨礙。
Python擁有以上所提及的全部三項特性,肯定是首選。另外,還有一項福利,Python是AI領域的官方語言,學完Python,刷完算法,你又邁入了另一扇人熱門領域的大門。
擁抱Python吧!