前言(廢話):
各位安安,
小弟之前有接觸過一咪咪autohotkey,因為最近找到了coding的樂趣,
開始透過youtube學習python,大概學到了用class建立對象與方法,
但一些很簡單的內置函數也都是看到別人用,才會知道有這東西。
在學習的過程中,我知道了leetcode這玩意,並在解題思路的幫助下,解出了第一題。
但到了第二題才發現,leetcode的入場門票是需要會數據結構與演算法,
這是我發文的主要原因。
以下問題:
1.數據結構與演算法資源推薦(中文偏好)
目前自己找到的資源,要嘛跟講得天書一樣難,
要嘛聽懂的卻又沒有code給我看實際到底長怎樣,有點難過
2.加强基礎的練習資源推薦
幫助手冊能教我如何使用,但如何運用或許就要透過刷題來學習了,
我知道leetcode和zerojudege,前者還不是我目前能面對的,
後者我也正在刷,只是想知道除了這些還有沒有其他推薦。
不限於刷題資源,教學文章、影片也可以(我覺得可以挑戰一下英文)
3.如何避免迴圈内的迴圈(for中for的改寫)
有時候會在for循環中再加入for循環,如果是一個兩個看起來還好,
但如果多起來的話,感覺邏輯上就會變得難釐清。
如果以下面的code來説的話),要如何避開或改善這個問題。
4.其他改善(同樣的code)
這部分像是註解、變數命名等等,因為沒參與過別人的開源項目,
也不知道怎麼做才是對其他開發人員友善,但又想早點培養習慣,
想來想去好像獻醜是最直接有效的改善方法,
如果在能力範圍內做得不夠好的話,希望各位能夠提點一下。
問完了,謝謝各位
這部分是code:
# 給定一個整數數組 nums 和一個整數目標值 target,請你在該數組中找出 和為目標
值 target 的那 兩個 整數,並返回它們的數組下標。
# 你可以假設每種輸入只會對應一個答案。但是,數組中同一個元素在答案裡不能重複出
現。
# 你可以按任意順序返回答案。
class Solution:
def twoSum(self, nums: list[int], target: int) -> list[int]:
"""
功能:
從列表中找尋二者之和與目標值相同的數,返回他們在列表中的位置