[問題] 數據結構與演算法的學習與coding習慣雜問
前言(廢話):
各位安安,
小弟之前有接觸過一咪咪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]:
"""
功能:
從列表中找尋二者之和與目標值相同的數,返回他們在列表中的位置
------------
參數:
nums:
數字所在的列表
target:
目標值
------------
變數:
numsLen:
列表nums的長度: len(nums)
num1Locat:
num1的位置: in range(numsLen)
num1:
第一個找到的數: nums[num1Locat]
num2Locat:
num2的位置: in range(num1Locat + 1, numsLen)
num2:
第二個找到的數: nums[num2Locat]
------------
返回值:
result:
結果: [num1Locat, num2Locat]
"""
numsLen = len(nums)
for num1Locat in range(numsLen):
num1 = nums[num1Locat]
for num2Locat in range(num1Locat + 1, numsLen):
num2 = nums[num2Locat]
if num1 + num2 == target:
result = [num1Locat, num2Locat]
return result
# testNums = [1, 3, 6, 7, 8, 11]
# testTarget = 19
# test = Solution()
# testResult = test.twoSum(testNums, testTarget)
# print(testResult)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.246.44.39 (澳門)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1632659900.A.BCA.html
推
09/26 21:03,
3年前
, 1F
09/26 21:03, 1F
→
09/26 21:04,
3年前
, 2F
09/26 21:04, 2F
→
09/26 21:05,
3年前
, 3F
09/26 21:05, 3F
→
09/26 21:05,
3年前
, 4F
09/26 21:05, 4F
謝謝您的建議,給了我很大的啟發
推
09/26 21:22,
3年前
, 5F
09/26 21:22, 5F
→
09/26 21:22,
3年前
, 6F
09/26 21:22, 6F
→
09/26 21:22,
3年前
, 7F
09/26 21:22, 7F
→
09/26 21:22,
3年前
, 8F
09/26 21:22, 8F
的確,我只有在python範圍內找資源,聽您這樣說,我也打算試一試
推
09/26 21:27,
3年前
, 9F
09/26 21:27, 9F
→
09/26 21:27,
3年前
, 10F
09/26 21:27, 10F
謝謝關鍵字,原來手冊上有,但一直沒去學XD
推
09/26 21:42,
3年前
, 11F
09/26 21:42, 11F
→
09/26 21:42,
3年前
, 12F
09/26 21:42, 12F
→
09/26 21:42,
3年前
, 13F
09/26 21:42, 13F
→
09/26 21:42,
3年前
, 14F
09/26 21:42, 14F
→
09/26 21:42,
3年前
, 15F
09/26 21:42, 15F
很棒的建議,我確實對programer有點想法,也打算在python用得更熟練一點後,再往更底
層的語言學習,我會好好考慮的
→
09/26 21:47,
3年前
, 16F
09/26 21:47, 16F
→
09/26 21:47,
3年前
, 17F
09/26 21:47, 17F
那看起來真的要實際參與專案再來研究了XD
推
09/26 22:35,
3年前
, 18F
09/26 22:35, 18F
謝謝,很棒的指南
※ 編輯: souhang (60.246.44.39 澳門), 09/26/2021 22:37:06
※ 編輯: souhang (60.246.44.39 澳門), 09/26/2021 22:40:30
→
09/26 23:07,
3年前
, 19F
09/26 23:07, 19F
推
09/27 01:48,
3年前
, 20F
09/27 01:48, 20F
→
09/27 01:48,
3年前
, 21F
09/27 01:48, 21F
→
09/27 01:49,
3年前
, 22F
09/27 01:49, 22F
→
09/27 01:49,
3年前
, 23F
09/27 01:49, 23F
→
09/27 01:51,
3年前
, 24F
09/27 01:51, 24F
→
09/27 01:51,
3年前
, 25F
09/27 01:51, 25F
→
09/27 13:52,
3年前
, 26F
09/27 13:52, 26F
推
09/27 14:29,
3年前
, 27F
09/27 14:29, 27F
推
09/27 14:46,
3年前
, 28F
09/27 14:46, 28F
→
09/27 17:42,
3年前
, 29F
09/27 17:42, 29F
→
09/27 17:42,
3年前
, 30F
09/27 17:42, 30F
推
09/27 20:27,
3年前
, 31F
09/27 20:27, 31F
→
09/27 20:27,
3年前
, 32F
09/27 20:27, 32F
推
09/27 22:12,
3年前
, 33F
09/27 22:12, 33F
→
09/28 01:14,
3年前
, 34F
09/28 01:14, 34F
→
09/28 01:15,
3年前
, 35F
09/28 01:15, 35F
推
09/28 01:19,
3年前
, 36F
09/28 01:19, 36F
→
09/28 01:20,
3年前
, 37F
09/28 01:20, 37F
→
09/28 01:21,
3年前
, 38F
09/28 01:21, 38F
→
09/28 01:23,
3年前
, 39F
09/28 01:23, 39F
→
09/28 01:24,
3年前
, 40F
09/28 01:24, 40F
→
09/28 01:24,
3年前
, 41F
09/28 01:24, 41F
→
09/28 01:25,
3年前
, 42F
09/28 01:25, 42F
→
09/28 01:26,
3年前
, 43F
09/28 01:26, 43F
→
09/28 01:32,
3年前
, 44F
09/28 01:32, 44F
→
09/28 08:28,
3年前
, 45F
09/28 08:28, 45F
→
09/28 08:28,
3年前
, 46F
09/28 08:28, 46F
→
09/28 08:28,
3年前
, 47F
09/28 08:28, 47F
→
09/28 08:28,
3年前
, 48F
09/28 08:28, 48F
推
09/28 13:12,
3年前
, 49F
09/28 13:12, 49F
→
09/28 13:12,
3年前
, 50F
09/28 13:12, 50F
→
09/28 13:13,
3年前
, 51F
09/28 13:13, 51F
→
09/28 13:14,
3年前
, 52F
09/28 13:14, 52F
→
09/28 13:15,
3年前
, 53F
09/28 13:15, 53F
→
09/28 13:15,
3年前
, 54F
09/28 13:15, 54F
→
09/29 18:07,
3年前
, 55F
09/29 18:07, 55F
→
09/29 18:07,
3年前
, 56F
09/29 18:07, 56F
推
10/02 20:19, , 57F
10/02 20:19, 57F
→
10/02 20:19, , 58F
10/02 20:19, 58F
→
10/02 20:19, , 59F
10/02 20:19, 59F
→
10/02 20:19, , 60F
10/02 20:19, 60F
→
10/02 20:19, , 61F
10/02 20:19, 61F
→
10/02 20:19, , 62F
10/02 20:19, 62F
→
10/02 20:19, , 63F
10/02 20:19, 63F
推
10/18 16:40, , 64F
10/18 16:40, 64F
→
10/18 16:40, , 65F
10/18 16:40, 65F
推
10/18 17:20, , 66F
10/18 17:20, 66F
Python 近期熱門文章
PTT數位生活區 即時熱門文章