Python刷題之路,怎樣做才能讓技術突飛猛進

2022-09-07 14:21:14 字數 1662 閱讀 3431

這個世界最可悲的就是 , 比你優秀的人比你還努力

今天這篇文章,就寫給那些希望學習python,但在刷題路上迷茫或者找不到方向的朋友們。文章僅代表個人觀點,不喜勿噴。

起初學習python,我就是秉承著什麼好玩學什麼的想法,東一榔頭西一棒子的跳著模組學習。看著很多方面都有所涉及,但遇到正兒八經的開發**時,就歇菜了。基礎的字串、列表、字典操作,都經常出錯。後來才意識到,為了學習模組而去學習,那只是高屋建瓴,底子差是硬傷。

python面試的一些心得,與練習題分享

這套題型挺全面的,但是基礎和演算法的內容比較少,所以開始去leecode刷題。今天就藉著前幾天這位朋友問的一道題,談談如何在刷題中終結知識,提高刷題效率吧。

在引用朋友的**前,提前和她打了個招呼:

編寫乙個函式,以字串作為輸入,反轉該字串中的母音字母。

示例 1:

輸入: "hello"

輸出: "holle"

示例 2:

輸入: "leetcode"

輸出: "leotcede"

有時候示例害死人,剛看這兩個示例,你可能以為提供的字串都是只有兩個母音字母,然後我們找到它們,互換位置即可。其實仔細想想就該明白,字串肯定是隨機的。然後,我們通過朋友的解題**,來一步步分析如何通過刷題,積累技術點,朋友**如下:

讓我們對這份**進行仔細剖析

首先,很多朋友會發現在reversevowels函式中,入參的定義與我們日常使用的不同(s:str) -> str在python中3.5,pep 484 - type hints附加了乙個含義:->用於指示函式返回的型別。型別提示與括號內的型別定義語法,都只是建議但不強制,所以很多教材與**中,並未新增。大家知道即可….

首先,有乙個明顯的問題,在while的第乙個if中存在乙個continue,仔細看**,這裡的continue完全用不到…

我們看到**定義了i、j兩個列表的index值,用於從兩邊到中間依次遍歷,最終進行替換。但還定義乙個result的列表,用於在遍歷過程中一次賦值。可這裡,暴露出了乙個python變數數值互換的小技巧。a,b =b,a

而**中的else:if … 完全可以替換為elif…

下來看看**報錯的這一行,乍一看感覺這行**應該沒問題啊。建立了乙個空列表,然後把string的第0個字元傳輸給這個空列表。為什麼會報錯呢?看看下面的**就知道了:

如果大家在平時做題的時候,能針對每一步都仔細思考下,是否有優化空間,涉及到了那些知識點,那麼才算是真正合格的刷題思路。刷題不是追求數量,而是看中是否在刷題過程中有所收穫。

Go刷題之路

給定乙個單鏈表,把所有的奇數節點和偶數節點分別排在一起。請注意,這裡的奇數節點和偶數節點指的是節點編號的奇偶性,而不是節點的值的奇偶性。請嘗試使用原地演算法完成。你的演算法的空間複雜度應為 o 1 時間複雜度應為 o nodes nodes 為節點總數。使用迭代指標遍歷鍊錶將結果分發給各個指標 fu...

python刷題題庫 python題庫刷題訓練

python 標準庫 math 中用來計算平方根的函式是.a sqrt b pow c power d abs c python 源 程式編譯後的擴充套件名為 a py b pdf c.python基礎100練習題 其它 工作范文 實用文件。例項 001 數字組合 python 期末試題題庫 c t...

怎樣才能算是熟悉python

怎樣才能算是熟悉python?會什麼?具體。招聘網頁上寫著熟悉python.高手,指導,謝謝。瀏覽 1179 次 舉報 描述不清 違規檢舉 侵權投訴 我有更好的答案 發布於2015 06 15 18 39 最佳答案 熟知主流硬體體系 x86,x64 熟知 cpython 的具體實現,如若可能至少通讀...