中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

惠州百優(yōu)做網(wǎng)站小程序熊掌號合肥網(wǎng)絡(luò)推廣軟件系統(tǒng)

惠州百優(yōu)做網(wǎng)站小程序熊掌號,合肥網(wǎng)絡(luò)推廣軟件系統(tǒng),wordpress付費,企業(yè)形象型網(wǎng)站建設(shè)70.爬樓梯 代碼隨想錄原題,看這篇文章:C動態(tài)規(guī)劃Part.1|動態(tài)規(guī)劃理論基礎(chǔ)、509.斐波那契數(shù)、70.爬樓梯、746.使用最小花費爬樓梯 118.楊輝三角 題目鏈接:118.楊輝三角 一刷代碼 時間復(fù)雜度和空間復(fù)雜度都造到 O ( n u m R o w s 2 ) O(num…

70.爬樓梯

代碼隨想錄原題,看這篇文章:C++動態(tài)規(guī)劃Part.1|動態(tài)規(guī)劃理論基礎(chǔ)、509.斐波那契數(shù)、70.爬樓梯、746.使用最小花費爬樓梯

118.楊輝三角

題目鏈接:118.楊輝三角

一刷代碼

時間復(fù)雜度和空間復(fù)雜度都造到 O ( n u m R o w s 2 ) O(numRows^2) O(numRows2)了。
基本思路就是先構(gòu)造一個result存儲最終的結(jié)果,然后定義一個dp數(shù)組來計算每一行的結(jié)果。

class Solution {
public:vector<vector<int>> generate(int numRows) {vector<vector<int>> result;for (int i = 0; i < numRows; i++) {vector<int> dp(i + 1, 1); // 行的大小應(yīng)為i+1if (i >= 2) {  // 從第三行開始填充中間的數(shù)for (int j = 1; j < i; j++) {dp[j] = result[i - 1][j - 1] + result[i - 1][j]; // 正確使用result中的前一行}}result.push_back(dp);}return result;}
};

思路

很容易看到一個主要的性質(zhì):
楊輝三角中每個數(shù)字等于上一行的左右兩個數(shù)字之和。

  • 確定dp數(shù)組下標(biāo)和含義
    dp[i][j]等于第i行和第j列的值。

  • 確定遞推公式
    遞推公式很容易分析出來:
    dp[i][j] = dp[i - 1][j] + dp[i - 1][j - 1];
    也就是每個數(shù)字等于上一行左右兩個數(shù)字之和,但是需要注意的是, 每一行的最左邊和最右邊的數(shù)字必須是1.

  • 初始化dp數(shù)組
    這里應(yīng)該如何初始化呢?
    最直接的方式就是直接全部初始化成1,因為每一行除了第一個和最后一個元素,我們都能通過遞推公式進行推導(dǎo)

  • 確定遍歷順序
    在leetcode的題目展示上面已經(jīng)看的很清楚了,
    外循環(huán)從上往下遍歷,內(nèi)循環(huán)從左往右遍歷。
    這里需要注意的是,由于每一行的元素個數(shù)都是變化的,所以關(guān)于行的初始化一定要在外循環(huán)中處理。代碼如下:

for (int i = 0; i < numRows; ++i) {	//先遍歷行dp[i].resize(i + 1); //將第i行的向量大小調(diào)整為i+1dp[i][0] = dp[i][i] = 1;for (int j = 1; j < i; +=j) {	//再遍歷列dp[i][j] = dp[i - 1][j] + dp[i - 1][j - 1];}
}
  • 打印dp數(shù)組

還是比較簡單的,這里就不寫了。

CPP代碼

其實思路還是很簡單的,不過代碼實現(xiàn)要一點小技巧,

  1. 在這里我們先創(chuàng)建一個大小為numRows的二維向量,其中每一行都是一個空的向量。在這種情況下,ret的初始狀態(tài)是一個包含5行的二維向量,但每行都沒有元素。
vector<vector<int>> dp(numRows);
  1. 然后我們在外循環(huán)中給每一行向量再調(diào)整大小,這樣我們在原數(shù)組上做操作,空間復(fù)雜度一下就下來了。
for (int i = 0; i < numRows; ++i) {dp[i].resize(i + 1);...
}

總體代碼如下

class Solution {
public:vector<vector<int>> generate(int numRows) {vector<vector<int>> dp(numRows);for (int i = 0; i < numRows; ++i) {dp[i].resize(i + 1);dp[i][0] = dp[i][i] = 1;for (int j = 1; j < i; ++j) {dp[i][j] = dp[i - 1][j] + dp[i - 1][j - 1];}}return ret;}
};

198.打家劫舍

代碼隨想錄原題,看這篇文章:C++動態(tài)規(guī)劃Part8|198.打家劫舍、213.打家劫舍II、198.打家劫舍III

http://www.risenshineclean.com/news/29961.html

相關(guān)文章:

  • 網(wǎng)站頁面管理seo網(wǎng)站優(yōu)化專家
  • 網(wǎng)站開發(fā)流程的三個部分百度網(wǎng)站官網(wǎng)入口網(wǎng)址
  • frontpage可以做網(wǎng)站嗎百度seo軟件首選帝搜軟件
  • 網(wǎng)上購物平臺大全seo免費外鏈工具
  • 愛情表白制作網(wǎng)頁的網(wǎng)站培訓(xùn)平臺有哪些
  • 泰安網(wǎng)站建設(shè)如何郴州seo網(wǎng)絡(luò)優(yōu)化
  • wordpress 用戶導(dǎo)入優(yōu)化軟件刷排名seo
  • 廣州智能建站seo診斷方案
  • 電商網(wǎng)站的功能有哪些深圳網(wǎng)站建設(shè)找哪家公司好
  • 成都自由行4天最佳路線自貢網(wǎng)站seo
  • 用jsp做的動態(tài)網(wǎng)站seo外鏈推廣工具下載
  • 武漢外貿(mào)網(wǎng)站建設(shè)網(wǎng)站推廣交換鏈接
  • 可以看男男做的視頻網(wǎng)站成都網(wǎng)站優(yōu)化平臺
  • 專業(yè)維護網(wǎng)站的公司中國最新疫情最新消息
  • 手機網(wǎng)站 普通網(wǎng)站網(wǎng)絡(luò)營銷平臺名詞解釋
  • vs2015做的網(wǎng)站廈門人才網(wǎng)招聘官網(wǎng)
  • vue 做網(wǎng)站 seo口碑推廣
  • 網(wǎng)站公安備案 工信備案seo優(yōu)化一般多少錢
  • 全國分類信息網(wǎng)站神點擊惡意點擊軟件
  • 做網(wǎng)站設(shè)計是什么專業(yè)啦啦啦資源視頻在線觀看8
  • 廣東東莞疫情風(fēng)險等級保定seo排名
  • 做網(wǎng)站 語言溫州seo網(wǎng)站建設(shè)
  • 網(wǎng)站怎么防黑客鄭州seo優(yōu)化顧問熱狗
  • 做視頻網(wǎng)站投入多少班級優(yōu)化大師怎么用
  • intitle 網(wǎng)站建設(shè)百度關(guān)鍵詞收費標(biāo)準(zhǔn)
  • 網(wǎng)站建設(shè)7個基本流程seo新聞
  • 六安網(wǎng)站制作哪家靠譜海淀網(wǎng)站建設(shè)公司
  • wordpress 在線聊天主題網(wǎng)店seo關(guān)鍵詞
  • 網(wǎng)站建設(shè)中界面模板下載百度推廣代理賺錢
  • 公司網(wǎng)站建設(shè)專家深圳網(wǎng)絡(luò)推廣渠道