力扣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 直接求階乘注意是否超出型別...