python楊輝三角_LeetCode刷題——第二十九天(楊輝三角II)
阿新 • • 發佈:2020-12-09
昨天一直在想為什麼今天30號了,而我這裡是第29天做題,往前翻了翻發現有兩天標題都是第21天,所以才會比日曆晚一天,明天回家看小侄子,後更新兩篇就可以恢復正常啦——楊輝三角II
第二十九天——第二十九題(楊輝三角 II)
看題目!
給定一個非負索引 k,其中k ≤ 33,返回楊輝三角的第k行。
在楊輝三角中,每個數是它左上方和右上方的數的和。
示例:
輸入: 3輸出: [1,3,3,1]
python解答之一:
def getRow(self, rowIndex: int) -> List[int]: tmp = [] for i in range(rowIndex + 1): tmp.insert(0, 1) for i in range(1, len(tmp) - 1): tmp[i] = tmp[i] + tmp[i+1] return tmp 作者:powcai 連結:https://leetcode-cn.com/problems/two-sum/solution/mo-ni-guo-cheng-by-powcai-5/ 來源:力扣(LeetCode) 著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。
程式碼解釋:
這段程式碼執行沒問題,但是我還是順不下來~
1.定義一個空列表。
2.假設rowIndex=3,意味著輸出第4行的值,所以需要遍歷4次,(for迴圈中:第0次,第1次,第2次,第3次)
3.關鍵就是我在第0次進入迴圈後就出不來,哈哈
4.第一個for迴圈後將tmp的0索引賦予1值,此時tmp=[1],進入第二個for迴圈,此時range(1,len(tmp)-1)==range(1,0)——這樣的寫法好奇怪。繼續往下...
5.i=1時,tmp[1]=tmp[1]+tmp[2],這個位置著實不明白,此時tmp只有0索引上有值啊。
6.接下來就進行不下去了。。。待在下弄明白後寫在評論區,見諒!