力扣119 楊輝三角 II(動態規劃)

2021-10-05 06:33:00 字數 807 閱讀 3890

力扣119. 楊輝三角 ii(動態規劃)

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

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

示例:輸入: 3

輸出: [1,3,3,1]

高階:你可以優化你的演算法到 o(k) 空間複雜度嗎?

總的來說就是利用楊輝三角形後一行與前一行的關係。

更新過程為:從倒數第二個元素開始往前更新,它等於原來這個位置的數 + 前乙個位置的數

行[i] = 行[i] + 行[i-1]

#include "stdafx.h"

#include#include using namespace std;

class solution

} return result;

}};int main()

return 0;

}

//遞迴,超時嚴重

vectorgetrow(int rowindex)

//遞迴終止條件,rowindex == 1,陣列1,1

if (rowindex == 1)

vectorresult;

//首尾是1

result.push_back(1);

//第k行的第i個=第k-行的第i-1個+第k-行的第i個

for (int i = 1; i <= rowindex - 1; i++)

result.push_back(1);

return result;

}

119 楊輝三角 II

略。注意是用o k 的空間完成,而不要求時間複雜度 時間複雜度沒法再小了應該只能是o n 2 11 1121 1331 這個二維 從左往右表示實際題需的row陣列 從上往下表示依據時間進展,不同時刻row陣列的樣子。每次形成row陣列時,應該從最右邊的1開始生成,向左,終止於最左邊的1。而不是相反的...

119 楊輝三角 II

給定乙個非負索引k,其中k 33,返回楊輝三角的第 k 行。在楊輝三角中,每個數是它左上方和右上方的數的和。示例 輸入 3輸出 1 3,3,1 高階 你可以優化你的演算法到 o k 空間複雜度嗎?前面2行直接生成,第三行 nowindex 2 在上乙個結果,即 1,1 的倒數第二個位置插入2即可。第...

119 楊輝三角 II

給定乙個非負索引 k,其中 k 33,返回楊輝三角的第 k 行。在楊輝三角中,每個數是它左上方和右上方的數的和。示例 輸入 3 輸出 1,3,3,1 解法1 第n行第k列的值,可以通過通項公式 n 1 k 1 n k 計算得到 對其進行化簡 n 1 n 2 n k k 1 直接求階乘注意是否超出型別...