每日演算法 楊輝三角

2021-10-20 12:22:40 字數 1484 閱讀 4536

給定乙個非負整數 *numrows,*生成楊輝三角的前 numrows 行。

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

示例:

輸入: 5

輸出:[

[1],

[1,1],

[1,2,1],

[1,3,3,1],

[1,4,6,4,1]

]

解法一:遞迴。

下面一行的m值是由上面一行n值決定的。比如下面一行的第i個元素m[i]值是由上面一行的第i-1個元素的值n[i-1]與第i個元素的值n[i]的相加的和,如果i-1n的最後乙個元素,那麼第i個元素的值為0即可。

class

solution

result =

generate

(numrows-1)

; list

list1 = result.

get(numrows -2)

;for

(int i =

0; i < numrows ; i++

)int num =

(i <= list1.

size()

-1)? list1.

get(i):0

;int prenum = list1.

get(i-1)

; list.

add(num+prenum);}

result.

add(list)

;return result;

}}

解法二:迭代,思路同上面的遞迴解法,換湯不換藥。

class

solution

list

pre = result.

get(i-1)

;for

(int j =

0; j <= i ; j++

)int num =

(j <= pre.

size()

-1)? pre.

get(j):0

;int prenum = pre.

get(j -1)

; list.

add(num+prenum);}

result.

add(list);}

return result;

}}

python楊輝三角 楊輝三角I II

給定乙個非負整數 numrows,生成楊輝三角的前 numrows 行。在楊輝三角中,每個數是它左上方和右上方的數的和。示例 輸入 5 輸出 1 1,1 1,2,1 1,3,3,1 1,4,6,4,1 可以一行一行錯位加,當然這裡提供更簡便的方法。任取一行描述 1,2,1 如何得到 1,3,3,1 ...

楊輝三角演算法集錦

name 楊輝三角集錦 author goal00001111 date 27 11 08 19 04 description 分別使用了二維陣列,一維陣列,佇列,二項式公式,組合公式推論和遞迴方法等10種演算法 演算法思路詳見 注釋 注釋很詳細,呵呵 include include using n...

演算法程式設計6 楊輝三角

給定乙個非負整數 numrows,生成楊輝三角的前 numrows 行 此題屬於動態規劃問題,針對此問題,首先找準規律 除第一行,每行第乙個元素和最後乙個元素都為1。其餘元素為左上方和右上方數之和。其次,找到特殊情況,第一行和第二行特殊,其餘都遵守規律。class solution def gene...