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

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

朵朵軟件網(wǎng)站建設(shè)個(gè)人網(wǎng)站

朵朵軟件網(wǎng)站建設(shè),個(gè)人網(wǎng)站,wordpress技術(shù)論壇,長治網(wǎng)上制作網(wǎng)站文章目錄第一部分:題目第二部分:解法①-數(shù)學(xué)規(guī)律法2.1 規(guī)律分析2.2 代碼實(shí)現(xiàn)2.3 需要思考第三部分:解法②-記憶法(備忘錄)第四部分:對比總結(jié)第一部分:題目 🏠 鏈接:119.…

文章目錄

  • 第一部分:題目
  • 第二部分:解法①-數(shù)學(xué)規(guī)律法
    • 2.1 規(guī)律分析
    • 2.2 代碼實(shí)現(xiàn)
    • 2.3 需要思考
  • 第三部分:解法②-記憶法(備忘錄)
  • 第四部分:對比總結(jié)

第一部分:題目

🏠 鏈接:119. 楊輝三角 II - 力扣(LeetCode)

? 難度:簡單

image-20230414144132090

第二部分:解法①-數(shù)學(xué)規(guī)律法

2.1 規(guī)律分析

2.2 代碼實(shí)現(xiàn)

public static List<Integer> getRow(int rowIndex) {// 建立一個(gè)capacity=rowIndex+1的集合ArrayList<Integer> arrayList = new ArrayList<>(rowIndex + 1);// 設(shè)置第rowIndex行首位置的值long indexValue = 1;// 遍歷第rowIndex行所有位置for (int i = 0;i <= rowIndex;i++){// long強(qiáng)轉(zhuǎn)為int,將indexValue加入集合,發(fā)生了自動裝包int->IntegerarrayList.add((int)indexValue);// 根據(jù)規(guī)律設(shè)置下一個(gè)好下一個(gè)位置的值indexValue = indexValue*(rowIndex-i)/(i+1);}return arrayList;
}
/*
這里有個(gè)細(xì)節(jié):我們定義indexValue時(shí)類型為long,為什么不設(shè)置為int類型,這樣便可以舍去加入集合時(shí)的強(qiáng)轉(zhuǎn)過程這是因?yàn)槿绻麑ndexValue定義為int類型,那么在代碼第六行計(jì)算indexValue*(rowIndex-i)時(shí)由于indexValue,rowIndex和i都為int,那么indexValue*(rowIndex-i)的結(jié)果也為int但是當(dāng)rowIndex過大時(shí),計(jì)算該行某些位置時(shí)indexValue*(rowIndex-i)的值會超過int的范圍導(dǎo)致這個(gè)值為負(fù)數(shù)。因此,我們定義類型為long的話,由于long的精度比int高,而indexValue*(rowIndex-i)的結(jié)果自然為long類型,且沒有超過long的取值范圍,所以indexValue*(rowIndex-i)得到的便會是正常結(jié)果,而非因?yàn)閿?shù)據(jù)溢出結(jié)果變?yōu)樨?fù)數(shù)
*/

2.3 需要思考

我們定義indexValue時(shí)類型為long,為什么不設(shè)置為int類型,這樣便可以舍去加入集合時(shí)的強(qiáng)轉(zhuǎn)過程。

這是因?yàn)槿绻麑ndexValue定義為int類型,那么在代碼第六行計(jì)算 indexValue * ( rowIndex - i ) 時(shí)由于 indexValue , rowIndex 和 i 都為int,那么 indexValue * ( rowIndex - i ) 的結(jié)果也為int。但是當(dāng)rowIndex過大時(shí),計(jì)算該行某些位置時(shí)indexValue*(rowIndex-i)的值會超過int的范圍導(dǎo)致這個(gè)值為負(fù)數(shù)

因此,我們定義類型為long的話,由于long的精度比int高,而indexValue*(rowIndex-i)的結(jié)果自然為long類型,且沒有超過long的取值范圍,所以indexValue * ( rowIndex - i ) 得到的便會是正常結(jié)果,而非因?yàn)閿?shù)據(jù)溢出結(jié)果變?yōu)樨?fù)數(shù)。

第三部分:解法②-記憶法(備忘錄)

Memoization 記憶法(也稱備忘錄)是一種優(yōu)化技術(shù),通過存儲函數(shù)調(diào)用結(jié)果(通常比較昂貴),當(dāng)再次出現(xiàn)相同的輸入(子問題)時(shí),就能實(shí)現(xiàn)加速效果

    public List<Integer> getRow(int rowIndex) {ArrayList<Integer> list = new ArrayList<>(rowIndex + 1);// 設(shè)置首元素的值為1list.add(1);// 從第二行(行索引為1)開始遍歷for (int i = 1; i <= rowIndex; i++) {for (int j = i - 1; j > 0; j--) {// 規(guī)律: [i][j] 的取值應(yīng)為 [i-1][j-1] + [i-1][j]list.set(j, list.get(j - 1) + list.get(j));}// 末尾元素的值為1list.add(1);}return list;}

第四部分:對比總結(jié)

我們來看下兩種方法的執(zhí)行效率:

1?? 數(shù)學(xué)規(guī)律法

image-20230414150218699

2?? 記憶法

image-20230414150144355

很明顯,數(shù)學(xué)規(guī)律法花費(fèi)的時(shí)間更少,這是因?yàn)?數(shù)學(xué)規(guī)律法 只需要我們逐一計(jì)算第 rowIndex 行每個(gè)元素的值即可,而 記憶法 需要我們從第0行開始,計(jì)算每一行每一個(gè)元素的值。

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

相關(guān)文章:

  • 電子商務(wù)網(wǎng)站建設(shè)移動電商開發(fā)web網(wǎng)站模板
  • 中國建設(shè)銀行網(wǎng)站無法訪問國通快速建站
  • 徐州網(wǎng)站建設(shè)魔站設(shè)計(jì)網(wǎng)站都有哪些
  • 天津微信網(wǎng)站本地推廣最好用的平臺
  • 網(wǎng)站權(quán)重能帶來什么作用百度一下瀏覽器
  • 寧夏做網(wǎng)站建設(shè)公司最新國際新聞10條
  • 國外好的做電視包裝的網(wǎng)站鏈接轉(zhuǎn)二維碼
  • 豬八戒網(wǎng)做網(wǎng)站怎么樣今日新聞快報(bào)
  • 哪個(gè)網(wǎng)站做外貿(mào)好互聯(lián)網(wǎng)營銷師
  • 長沙自助模板建站百度官方免費(fèi)下載安裝
  • 交易網(wǎng)站建設(shè)電商營銷策劃方案
  • 泉州公司做網(wǎng)站服裝品牌營銷策劃方案
  • 岳陽seo官網(wǎng)廣東百度seo關(guān)鍵詞排名
  • 中國建設(shè)銀行網(wǎng)站首頁u盾登入百度推廣基木魚
  • 蘇州高端網(wǎng)站設(shè)計(jì)企業(yè)滕州今日頭條新聞
  • 網(wǎng)站頁面怎么設(shè)計(jì)寧夏百度推廣代理商
  • 東麗區(qū) 網(wǎng)站建設(shè)今日足球賽事數(shù)據(jù)
  • 鄭州營銷網(wǎng)站托管seo最新技巧
  • 微網(wǎng)站促銷版seo輔助工具
  • 做劇情網(wǎng)站侵權(quán)嗎簡述網(wǎng)絡(luò)營銷的方法
  • 去年做那個(gè)網(wǎng)站致富google官網(wǎng)注冊賬號入口
  • 環(huán)保設(shè)備網(wǎng)站怎么做手機(jī)百度云電腦版入口
  • 設(shè)計(jì)網(wǎng)站要多久東莞seo技術(shù)培訓(xùn)
  • 團(tuán)隊(duì)云智能網(wǎng)站建設(shè)crm
  • 以下屬于b2c網(wǎng)站的是搜索引擎廣告形式有
  • 西安買公司的網(wǎng)站建設(shè)百度一下百度下載
  • 互聯(lián)網(wǎng)網(wǎng)站建設(shè)哪里好新聞播報(bào)最新
  • 工業(yè)產(chǎn)品設(shè)計(jì)與創(chuàng)客實(shí)踐技能大賽蘋果aso優(yōu)化
  • 買什么樣的主機(jī)(用來建網(wǎng)站的)支持下載免費(fèi)網(wǎng)站制作軟件平臺
  • 站群子網(wǎng)站開發(fā)小程序開發(fā)平臺