摘要:首先要對(duì)特殊情況進(jìn)行處理小于等于的情況。然后循環(huán),每一次產(chǎn)生一個(gè),個(gè)有個(gè)元素,每個(gè)的第一個(gè)和第個(gè)元素都是對(duì)于中間的那些元素,則找出前一個(gè)的對(duì)應(yīng)位置的兩個(gè)元素加和即可得到。這一道題只要求返回形式的一行的元素即可。
118 Pascal"s Triangle 題目詳情
Given numRows, generate the first numRows of Pascal"s triangle.
For example, given numRows = 5,Return理解
[1],
[1,1],
[1,2,1],
[1,3,3,1],
[1,4,6,4,1]
首先我們要先理解一下pascal三角形(楊輝三角),每行端點(diǎn)與結(jié)尾的數(shù)為1,每個(gè)數(shù)等于它上方兩數(shù)之和。
解法的實(shí)現(xiàn)還是比較簡(jiǎn)單的。首先要對(duì)特殊情況進(jìn)行處理(numRows小于等于0的情況)。然后循環(huán),每一次產(chǎn)生一個(gè)List,i個(gè)list有i個(gè)元素,每個(gè)list的第一個(gè)和第i個(gè)元素都是1.
對(duì)于list中間的那些元素,則找出前一個(gè)list的對(duì)應(yīng)位置的兩個(gè)元素加和即可得到。
解法public List> generate(int numRows) { List
> triangle = new ArrayList
>(); if (numRows <=0){ return triangle; } for (int i=0; i
row = new ArrayList (); for (int j=0; j 119 Pascal"s Triangle2 題目詳情 Given an index k, return the kth row of the Pascal"s triangle.理解
For example, given k = 3,
Return [1,3,3,1].
Note:
Could you optimize your algorithm to use only O(k) extra space?這道題和118一樣,都是基于帕斯卡三角形的。這一道題只要求返回List形式的、一行的元素即可。
這道題有個(gè)額外的要求就是只消耗O(k)的額外空間
于是我們只在方法最開始聲明一個(gè)list,以后每一行的結(jié)果都保存在這個(gè)list中,同時(shí)根據(jù)list中元素的值計(jì)算出的下一行的元素覆蓋掉計(jì)算過的元素。
解法public ListgetRow(int rowIndex) { List list = new ArrayList (); if(rowIndex < 0 ){ return list; } for(int i=0;i < rowIndex+1;i++){ list.add(0,1); for(int j=1;j
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/68245.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...
摘要:楊輝三角給定一個(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...
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...
閱讀 1453·2023-04-25 19:00
閱讀 4156·2021-11-17 17:00
閱讀 1768·2021-11-11 16:55
閱讀 1526·2021-10-14 09:43
閱讀 3130·2021-09-30 09:58
閱讀 858·2021-09-02 15:11
閱讀 2128·2019-08-30 12:56
閱讀 1406·2019-08-30 11:12