摘要:楊輝三角給定一個(gè)非負(fù)整數(shù),生成楊輝三角的前行。在楊輝三角中,每個(gè)數(shù)是它左上方和右上方的數(shù)的和。另外可以在內(nèi)層循環(huán)加判斷在不等于時(shí)才加上,這樣可省略代碼段,但是這個(gè)會(huì)在每次進(jìn)入第一次循環(huán)后判斷一次。本著減少資源消耗的原則,應(yīng)當(dāng)提到外面。
118:Pascal"s Triangle 楊輝三角
Given a non-negative integer numRows, generate the first numRows of Pascal"s triangle.
給定一個(gè)非負(fù)整數(shù) numRows,生成楊輝三角的前 numRows 行。
In Pascal"s triangle, each number is the sum of the two numbers directly above it.
在楊輝三角中,每個(gè)數(shù)是它左上方和右上方的數(shù)的和。
Example:
Input: 5 Output: [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ]解題思路:
? 第一行第二行都是1,每行第一個(gè)和最后一個(gè)都為1,假設(shè)其他位置的數(shù)x索引坐標(biāo)是(m,n),則x就是數(shù)是它 索引正上方的數(shù)和索引正上方的左邊的數(shù) 之和。即(m-1,n),(m-1,n-1)兩數(shù)和。
java:class Solution { public Listpython:> generate(int numRows) { List
> triangle = new ArrayList
>(); if(numRows == 0) return triangle; List
one = new ArrayList (); one.add(1); triangle.add(one); if(numRows == 1) return triangle; for (int i=1;i row = new ArrayList (); row.add(1); for (int j=1;j prev = triangle.get(i-1); row.add(prev.get(j-1)+prev.get(j)); } row.add(1); triangle.add(row); } return triangle; } }
class Solution: def generate(self, numRows: int) -> List[List[int]]: if numRows==0:return [] triangle=[[1]] if numRows==1: return triangle for i in range(1,numRows): tmp=[1] for j in range(1,i): tmp.append(triangle[i-1][j-1]+triangle[i-1][j]) tmp.append(1) triangle.append(tmp) return triangle總結(jié):
很簡(jiǎn)單的一道題,可以復(fù)習(xí)一下java嵌套數(shù)組數(shù)據(jù)結(jié)構(gòu)。另外 可以在內(nèi)層循環(huán)加判斷 if(i!=0) row.add(1);triangle.add(row); 在i不等于0時(shí)才加上1,這樣可省略
Listone = new ArrayList (); one.add(1); triangle.add(one); if(numRows == 1) return triangle;
代碼段,但是這個(gè) if(i!=0)會(huì)在每次進(jìn)入第一次循環(huán)后判斷一次。本著減少資源消耗的原則,應(yīng)當(dāng)提到外面。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/44126.html
摘要:楊輝三角給定一個(gè)非負(fù)整數(shù),生成楊輝三角的前行。在楊輝三角中,每個(gè)數(shù)是它左上方和右上方的數(shù)的和。另外可以在內(nèi)層循環(huán)加判斷在不等于時(shí)才加上,這樣可省略代碼段,但是這個(gè)會(huì)在每次進(jìn)入第一次循環(huán)后判斷一次。本著減少資源消耗的原則,應(yīng)當(dāng)提到外面。 118:Pascals Triangle 楊輝三角 Given a non-negative integer numRows, generate the...
摘要:首先要對(duì)特殊情況進(jìn)行處理小于等于的情況。然后循環(huán),每一次產(chǎn)生一個(gè),個(gè)有個(gè)元素,每個(gè)的第一個(gè)和第個(gè)元素都是對(duì)于中間的那些元素,則找出前一個(gè)的對(duì)應(yīng)位置的兩個(gè)元素加和即可得到。這一道題只要求返回形式的一行的元素即可。 118 Pascals Triangle 題目詳情 Given numRows, generate the first numRows of Pascals triangle....
Problem Given a non-negative integer numRows, generate the first numRows of Pascals triangle. In Pascals triangle, each number is the sum of the two numbers directly above it. Example: Input: 5Output:...
摘要:公眾號(hào)愛寫作者愛寫給定一個(gè)非負(fù)索引,其中,返回楊輝三角的第行。在楊輝三角中,每個(gè)數(shù)是它左上方和右上方的數(shù)的和。示例輸入輸出進(jìn)階你可以優(yōu)化你的算法到空間復(fù)雜度嗎解題思路和之前寫的那篇號(hào)楊輝三角基本類似。 公眾號(hào):愛寫bug(ID:icodebugs)作者:愛寫bug 給定一個(gè)非負(fù)索引 k,其中 k ≤ 33,返回楊輝三角的第 k 行。 Given a non-negative index...
摘要:公眾號(hào)愛寫作者愛寫給定一個(gè)非負(fù)索引,其中,返回楊輝三角的第行。在楊輝三角中,每個(gè)數(shù)是它左上方和右上方的數(shù)的和。示例輸入輸出進(jìn)階你可以優(yōu)化你的算法到空間復(fù)雜度嗎解題思路和之前寫的那篇號(hào)楊輝三角基本類似。 公眾號(hào):愛寫bug(ID:icodebugs)作者:愛寫bug 給定一個(gè)非負(fù)索引 k,其中 k ≤ 33,返回楊輝三角的第 k 行。 Given a non-negative index...
閱讀 1018·2021-11-22 13:52
閱讀 932·2019-08-30 15:44
閱讀 577·2019-08-30 15:43
閱讀 2430·2019-08-30 12:52
閱讀 3480·2019-08-29 16:16
閱讀 643·2019-08-29 13:05
閱讀 2948·2019-08-26 18:36
閱讀 1998·2019-08-26 13:46