1. 程式人生 > 其它 >python楊輝三角_LeetCode刷題——第二十九天(楊輝三角II)

python楊輝三角_LeetCode刷題——第二十九天(楊輝三角II)

技術標籤:python楊輝三角楊輝三角python程式碼

昨天一直在想為什麼今天30號了,而我這裡是第29天做題,往前翻了翻發現有兩天標題都是第21天,所以才會比日曆晚一天,明天回家看小侄子,後更新兩篇就可以恢復正常啦——楊輝三角II

第二十九天——第二十九題(楊輝三角 II

看題目!

給定一個非負索引 k,其中k ≤ 33,返回楊輝三角的第k行。

ca5c56be3485c3dac69d20230b7457d7.gif

在楊輝三角中,每個數是它左上方和右上方的數的和。

示例:

輸入: 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.接下來就進行不下去了。。。待在下弄明白後寫在評論區,見諒!

明天早上六點起床,回家看望小侄子~今天留下好多疑問,希望忙完明天了趕緊解決!