4、爬樓梯串慰、買賣股票的最佳時機(jī)偏塞、最大子序和、打家劫舍

爬樓梯

假設(shè)你正在爬樓梯模庐。需要 n 階你才能到達(dá)樓頂烛愧。
每次你可以爬 1 或 2 個臺階。你有多少種不同的方法可以爬到樓頂呢?
注意:給定 n 是一個正整數(shù)怜姿。
示例 1:
輸入: 3
輸出: 3
解釋: 有三種方法可以爬到樓頂慎冤。

  1. 1 階 + 1 階 + 1 階
  2. 1 階 + 2 階
  3. 2 階 + 1 階

// 動態(tài)規(guī)劃,總結(jié)規(guī)律f(n) = f(n-1)+f(n-2)
// 1,1
// 2,2
// 3,3
// 4,5
// 5,8

var climbStairs = function(n) {
    //創(chuàng)建一個數(shù)組沧卢,用于爬樓梯種類數(shù)組的數(shù)值
    const dp=[]
    //初始化數(shù)組蚁堤,1樓1種方式,2樓兩種方式
    dp[1] = 1,dp[2] = 2
    for(let i=3;i<=n;i++){
        dp[i] = dp[i-1]+dp[i-2]
    }
    console.log(dp[n])
    return dp[n]
};

買賣股票的最佳時機(jī)

給定一個數(shù)組 prices 但狭,它的第 i 個元素 prices[i] 表示一支給定股票第 i 天的價格披诗。
你只能選擇 某一天 買入這只股票,并選擇在 未來的某一個不同的日子 賣出該股票立磁。設(shè)計一個算法來計算你所能獲取的最大利潤呈队。
返回你可以從這筆交易中獲取的最大利潤。如果你不能獲取任何利潤唱歧,返回 0 宪摧。
示例 1:
輸入:[7,1,5,3,6,4]
輸出:5
解釋:在第 2 天(股票價格 = 1)的時候買入,在第 5 天(股票價格 = 6)的時候賣出颅崩,最大利潤 = 6-1 = 5 几于。
注意利潤不能是 7-1 = 6, 因為賣出價格需要大于買入價格;同時沿后,你不能在買入前賣出股票沿彭。

var maxProfit = function (prices) {
    // 初始化最大收益為0,最低買入價格為第一天股票價格
    let max_get = 0,min_price = prices[0]

    for(var i=0;i<prices.length;i++){
        if(min_price>prices[i]){ //如果當(dāng)前價格比最低價格還低
            min_price = prices[i] //更新最低價格
        }else{ //如果當(dāng)前利潤比之前利潤高尖滚,則更新利潤
            max_get = Math.max((prices[i] - min_price),max_get)
        }
    }
    console.log(max_get)
    return max_get
}

最大子序和

給定一個整數(shù)數(shù)組 nums 喉刘,找到一個具有最大和的連續(xù)子數(shù)組(子數(shù)組最少包含一個元素),返回其最大和熔掺。
示例 1:
輸入:nums = [-2,1,-3,4,-1,2,1,-5,4]
輸出:6
解釋:連續(xù)子數(shù)組 [4,-1,2,1] 的和最大饱搏,為 6 。
1置逻、數(shù)組方式

var maxSubArray = function(nums) {
    let res = 0,arr = []
    for(let i=0;i<nums.length;i++){
        if(res>0){
            res+=nums[i]
        }else{
            res = nums[i]
        }
        arr.push(res)
    }
    console.log(Math.max(...arr))
};

2推沸、// 動態(tài)規(guī)劃

var maxSubArray = function(nums) {
    let bp = [] //初始化一個新數(shù)組
    bp[0] = nums[0] //第一個值存入數(shù)組中

    for(let i=1;i<nums.length;i++){
        if(bp[i-1]>0){ //如果前一個和大于0,繼續(xù)加
            bp[i] = bp[i-1] + nums[i]
        }else{//如果前一個和小于零券坞,值重置為當(dāng)前值
            bp[i] = nums[i]
        }
    }
    console.log(bp)
    console.log(Math.max(...bp))
    return Math.max(...bp)
};

打家劫舍

你是一個專業(yè)的小偷鬓催,計劃偷竊沿街的房屋。每間房內(nèi)都藏有一定的現(xiàn)金恨锚,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜系統(tǒng)宇驾,如果兩間相鄰的房屋在同一晚上被小偷闖入,系統(tǒng)會自動報警猴伶。
給定一個代表每個房屋存放金額的非負(fù)整數(shù)數(shù)組课舍,計算你 不觸動警報裝置的情況下 塌西,一夜之內(nèi)能夠偷竊到的最高金額。
示例 1:
輸入:[1,2,3,1]
輸出:4
解釋:偷竊 1 號房屋 (金額 = 1) 筝尾,然后偷竊 3 號房屋 (金額 = 3)捡需。
偷竊到的最高金額 = 1 + 3 = 4 。

// 動態(tài)規(guī)劃
var rob = function(nums) {
    let pb = []
    pb[0] = nums[0]
    pb[1] = Math.max(nums[0],nums[1])
    pb[2] = Math.max(pb[0]+nums[2],pb[1])
    if(nums.length==1) return nums[0]
    if(nums.length==2) return pb[1]

    for(let i=2;i<nums.length;i++){
        pb[i] = pb[i-2]+nums[i]
        if(pb[i]<pb[i-1]){
            pb[i] = pb[i-1]
        }
    }
    console.log(pb)
    console.log(Math.max(...pb))
};
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末筹淫,一起剝皮案震驚了整個濱河市站辉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌损姜,老刑警劉巖饰剥,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異摧阅,居然都是意外死亡汰蓉,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門棒卷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來古沥,“玉大人,你說我怎么就攤上這事娇跟。” “怎么了太颤?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵苞俘,是天一觀的道長。 經(jīng)常有香客問我龄章,道長吃谣,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任做裙,我火速辦了婚禮岗憋,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘锚贱。我一直安慰自己仔戈,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布拧廊。 她就那樣靜靜地躺著监徘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪吧碾。 梳的紋絲不亂的頭發(fā)上凰盔,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機(jī)與錄音倦春,去河邊找鬼户敬。 笑死落剪,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的尿庐。 我是一名探鬼主播忠怖,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼屁倔!你這毒婦竟也來了脑又?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤锐借,失蹤者是張志新(化名)和其女友劉穎问麸,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體钞翔,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡严卖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了布轿。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片哮笆。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖汰扭,靈堂內(nèi)的尸體忽然破棺而出稠肘,到底是詐尸還是另有隱情,我是刑警寧澤萝毛,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布项阴,位于F島的核電站,受9級特大地震影響笆包,放射性物質(zhì)發(fā)生泄漏环揽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一庵佣、第九天 我趴在偏房一處隱蔽的房頂上張望歉胶。 院中可真熱鬧,春花似錦巴粪、人聲如沸通今。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽衡创。三九已至,卻和暖如春晶通,著一層夾襖步出監(jiān)牢的瞬間璃氢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工狮辽, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留一也,地道東北人巢寡。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像椰苟,于是被迫代替她去往敵國和親抑月。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容