国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【LeetCode】118. 楊輝三角

這篇具有很好參考價值的文章主要介紹了【LeetCode】118. 楊輝三角。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

題目鏈接
【LeetCode】118. 楊輝三角,# 編程練習 合集,Python3,C++,LeetCode

【LeetCode】118. 楊輝三角,# 編程練習 合集,Python3,C++,LeetCode
【LeetCode】118. 楊輝三角,# 編程練習 合集,Python3,C++,LeetCode

Python3

直覺解法:

class Solution:
    def generate(self, numRows: int) -> List[List[int]]:
        ans = [[1]]
        for _ in range(numRows-1):
            temp1 = []
            temp2 = [0] + ans[-1] + [0]
            for i in range(len(temp2)-1) :
                temp1.append(temp2[i]+temp2[i+1])
            ans.append(temp1)

        return ans 

版本1

【LeetCode】118. 楊輝三角,# 編程練習 合集,Python3,C++,LeetCode
以下的理論介紹 可以說和 本題的 代碼實現(xiàn) 毫無關系。
【LeetCode】118. 楊輝三角,# 編程練習 合集,Python3,C++,LeetCode
這個版本 需要注意 列表的邊界

class Solution:
    def generate(self, numRows: int) -> List[List[int]]:
        ans = []
        for i in range(numRows):
            row = []  # 第 i 行
            for j in range(i+1) : # 第 i 行 【0開始】 有 i+1 項
                if j == 0 or j == i: # 為 1 的位置下標 和 行下標 一致 
                    row.append(1) 
                else:
                    row.append(ans[i-1][j]+ans[i-1][j-1])
            ans.append(row)

        return ans 

? 版本2

思路: 前一行 兩端 補0 模擬。 結合 動圖 理解

class Solution:
    def generate(self, numRows: int) -> List[List[int]]:
        ans = [[1]]
        for _ in range(numRows-1):  # 因為 直接對前一行ans[-1]操作,這里要注意循環(huán)次數(shù) 第0次循環(huán)  獲得了 第2行。因此只到 第 numRows-2 次循環(huán)
            row = []  # 存儲 每行的數(shù) 
            temp = [0] + ans[-1] + [0]
            for i in range(len(temp)-1) :
                row.append(temp[i] + temp[i+1])
            ans.append(row)

        return ans 

C++

? 版本

題目 說明至少 一行,可以跳過 第一行的處理文章來源地址http://www.zghlxwxcb.cn/news/detail-723471.html

class Solution {
public:
    vector<vector<int>> generate(int numRows) {
        vector<vector<int>> ans;  // 這里沒有限制長度
        ans.push_back(vector<int>(1, 1));   //  第 1 行
        for (int i = 1; i <= numRows-1; ++i){
            ans.push_back(vector<int>(i+1));  // C++ 不能隨便 加元素,要提前說明
            ans[i][0] = ans[i][i] = 1;
            for(int j = 1; j <= i-1; ++j){
                ans[i][j] = ans[i-1][j] + ans[i-1][j-1];
            }
        }
        return ans;
    }
};

官方版本

class Solution {
public:
    vector<vector<int>> generate(int numRows) {
        vector<vector<int>> ans(numRows);
        for (int i = 0; i <= numRows-1; ++i){
            ans[i].resize(i+1);  // C++ 不能隨便 加長,要提前說明
            ans[i][0] = ans[i][i] = 1;
            for(int j = 1; j <= i-1; ++j){
                ans[i][j] = ans[i-1][j] + ans[i-1][j-1];
            }
        }
        return ans;
    }
};

到了這里,關于【LeetCode】118. 楊輝三角的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • leetcode | 楊輝三角 | 電話號碼配對

    ? ?電話號碼的字母組合 楊輝三角? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

    2024年02月22日
    瀏覽(25)
  • leetcode--楊輝三角(C、C++)

    leetcode--楊輝三角(C、C++)

    2024年02月15日
    瀏覽(19)
  • ***楊輝三角_yyds_LeetCode_python***

    ***楊輝三角_yyds_LeetCode_python***

    給定一個非負整數(shù)?numRows,生成「楊輝三角」的前?numRows?行。 在「楊輝三角」中,每個數(shù)是它左上方和右上方的數(shù)的和。 示例 1: 輸入: numRows = 5 輸出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]] 示例?2: 輸入: numRows = 1 輸出: [[1]] 來源:力扣(LeetCode) 鏈接:https://leetcode.cn/problems/pasc

    2024年02月08日
    瀏覽(20)
  • Java算法_ 楊輝三角(LeetCode_Hot100)

    Java算法_ 楊輝三角(LeetCode_Hot100)

    題目描述:題目描述:給定一個非負整數(shù) numRows,生成「楊輝三角」的前 numRows 行。 在「楊輝三角」中,每個數(shù)是它左上方和右上方的數(shù)的和。 獲得更多?算法思路:代碼文檔,算法解析的私得。 運行效果 完整代碼

    2024年02月13日
    瀏覽(22)
  • 打印楊輝三角

    打印楊輝三角

    這個公式,不好算,我覺得還是楊輝三角算起來方便:c#代碼如下: ? ?double 打印楊輝三角(int n)//n必須是偶數(shù),展開項是n+1,中間項是n/2,此處返回中間項的概率202306131722 ? ? ? ? { ? ? ? ? ? ? //for (int i = 0; i n; i++) ? ? ? ? ? ? //{ ? ? ? ? ? ? // ? ?//這種方法直接算,使

    2024年02月09日
    瀏覽(25)
  • 楊輝三角(Java)

    楊輝三角(Java)

    ?實現(xiàn)思路:我們可以先把楊輝三角想象成一個空的二維數(shù)組,然后再給它賦值輸出即可。 關鍵在于如何賦值:仔細觀察上圖可以得出除了 每一行第一個數(shù)以及最后一個數(shù)(都是1) , 中間的數(shù)字規(guī)律就是: a[ i ][ j ] = a[ i - 1 ][ j - 1 ] + a[ i - 1 ][ j ] 實現(xiàn)代碼: 相信大家更多的

    2024年02月08日
    瀏覽(16)
  • 動態(tài)規(guī)劃-楊輝三角

    動態(tài)規(guī)劃-楊輝三角

    該算法題分別是: 118. 楊輝三角。 119. 楊輝三角 II 在「楊輝三角」中,每個數(shù)是它左上方和右上方的數(shù)的和。 1.2.1 示例 1: 輸入: numRows = 5 輸出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]] 1.2.2 示例 2: 輸入: numRows = 1 輸出: [[1]] 1.2.3 提示: 1 = numRows = 30 來源:力扣(LeetCode) 鏈接:https://

    2024年02月13日
    瀏覽(23)
  • 每日一題,楊輝三角

    每日一題,楊輝三角

    給定一個非負整數(shù)?numRows,生成「楊輝三角」的前?numRows?行。 示例 1: 示例?2:

    2024年02月04日
    瀏覽(24)
  • 【C語言】-- 楊輝三角

    【C語言】-- 楊輝三角

    目錄 一.什么是楊輝三角? 二.實現(xiàn)方法 1.直角三角形版 2.等腰三角形版 楊輝三角形,又稱賈憲三角形,帕斯卡三角形,是二項式系數(shù)在三角形中的一種幾何排列。 形如: 我們不難看出其存在明顯的規(guī)律。 即:圖片的 兩個斜邊都是數(shù)字1 , 其余的數(shù)都等于 它所在層的肩上(

    2024年02月13日
    瀏覽(22)
  • LC-楊輝三角-記憶版

    上一篇:LC-楊輝三角 上一篇講了楊輝三角的算法,不過之前的算法存在一個問題,比如: 我們可以看到計算a[5][3]和a[5][4]時都需要a[4][3]的值,之前我們是需要每次用到都重新計算,這樣就比較耗時,有沒有辦法記住已經(jīng)算過的值呢,當下次用的時候直接獲取就不用重新計算

    2024年02月13日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包