楊輝三角 II

2021-09-29 16:46:06 字數 869 閱讀 7049

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

示例:

輸入: 3

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

對於該問題,我用了 3 種實現方法:

方法一:暴力破解法。楊輝三角的確定需要上一行的元素,用 currentrow 表示當前行,prerow 表示上一行,求得下標為 k 的行。此方法相當於建立了乙個 k 行的楊輝三角,時間複雜度、空間複雜度很大,不建議採用,了解即可。

方法二:增刪法。在楊輝三角中,對於下標為 k 的行,我們需要確定該行下標為 1 到下標為 k- 1 的元素。result 儲存該行元素,開始時 result 中有兩個元素(1,1),通過 result.add(result.get(0) + result.get(1)) 新增該行新元素,result.remove(0) 刪除上一行元素,最終得到結果。

方法三:數學公式法。楊輝三角的每一行的元素等價於二項式 (x + y)^k 的係數。

方法一:暴力破解法

class

solution

currentrow.

add(1)

;}return currentrow;

}}

方法二:增刪法

class

solution

result.

add(1)

;}return result;

}}

方法三:數學公式法

class

solution

return result;

}}

楊輝三角 II

給定乙個非負索引 k,其中 k 33,返回楊輝三角的第 k 行。在楊輝三角中,每個數是它左上方和右上方的數的和。示例 輸入 3 輸出 1,3,3,1 高階 你可以優化你的演算法到 o k 空間複雜度嗎?class solution if numrows 0 int array numrows num...

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即可。第...