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

算法題:擺動序列(貪心算法解決序列問題)

這篇具有很好參考價值的文章主要介紹了算法題:擺動序列(貪心算法解決序列問題)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

這道題是一道貪心算法題,如果前兩個數(shù)是遞增,則后面要遞減,如果不符合則往后遍歷,直到找到符合的。(完整題目附在了最后)

算法題:擺動序列(貪心算法解決序列問題),數(shù)據(jù)結(jié)構(gòu)與算法,leetcode&???Python精修,擺動序列,貪心算法,算法,leetcode,python,序列問題

代碼如下:

class Solution(object):
    def wiggleMaxLength(self, nums):
        n = len(nums)
        if n < 2:
            return n

        prevdiff = nums[1] - nums[0]
        if prevdiff == 0:
            n_subseq = 1
        else:
            n_subseq = 2

        for i in range(2, n):
            diff = nums[i] - nums[i - 1]
            if (prevdiff >= 0 and diff < 0) or (prevdiff <= 0 and diff > 0):
                prevdiff = diff
                n_subseq += 1

        return n_subseq

完整題目:

376.?擺動序列

如果連續(xù)數(shù)字之間的差嚴(yán)格地在正數(shù)和負(fù)數(shù)之間交替,則數(shù)字序列稱為?擺動序列 。第一個差(如果存在的話)可能是正數(shù)或負(fù)數(shù)。僅有一個元素或者含兩個不等元素的序列也視作擺動序列。

  • 例如,?[1, 7, 4, 9, 2, 5]?是一個?擺動序列?,因為差值?(6, -3, 5, -7, 3)?是正負(fù)交替出現(xiàn)的。

  • 相反,[1, 4, 7, 2, 5]?和?[1, 7, 4, 5, 5]?不是擺動序列,第一個序列是因為它的前兩個差值都是正數(shù),第二個序列是因為它的最后一個差值為零。

子序列?可以通過從原始序列中刪除一些(也可以不刪除)元素來獲得,剩下的元素保持其原始順序。

給你一個整數(shù)數(shù)組?nums?,返回?nums?中作為?擺動序列?的?最長子序列的長度?。

示例 1:

輸入:nums = [1,7,4,9,2,5]
輸出:6
解釋:整個序列均為擺動序列,各元素之間的差值為 (6, -3, 5, -7, 3) 。

示例 2:

輸入:nums = [1,17,5,10,13,15,10,5,16,8]
輸出:7
解釋:這個序列包含幾個長度為 7 擺動序列。
其中一個是 [1, 17, 10, 13, 10, 16, 8] ,各元素之間的差值為 (16, -7, 3, -3, 6, -8) 。

示例 3:

輸入:nums = [1,2,3,4,5,6,7,8,9]
輸出:2

提示:文章來源地址http://www.zghlxwxcb.cn/news/detail-728361.html

  • 1 <= nums.length <= 1000
  • 0 <= nums[i] <= 1000

到了這里,關(guān)于算法題:擺動序列(貪心算法解決序列問題)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 算法訓(xùn)練day31貪心算法理論基礎(chǔ)Leetcode455分發(fā)餅干376擺動序列53最大子序和

    文章鏈接 代碼隨想錄 (programmercarl.com) 說實話貪心算法并沒有固定的套路 。 最好用的策略就是舉反例,如果想不到反例,那么就試一試貪心吧 。 面試中基本不會讓面試者現(xiàn)場證明貪心的合理性,代碼寫出來跑過測試用例即可,或者自己能自圓其說理由就行了 。 刷題或者面

    2024年02月20日
    瀏覽(20)
  • Day31 貪心算法 part01 理論基礎(chǔ) 455.分發(fā)餅干 376.擺動序列 53.最大子序和

    Day31 貪心算法 part01 理論基礎(chǔ) 455.分發(fā)餅干 376.擺動序列 53.最大子序和

    什么是貪心 貪心的本質(zhì)是選擇每一階段的局部最優(yōu),從而達(dá)到全局最優(yōu) 。 這么說有點抽象,來舉一個例子: 例如,有一堆鈔票,你可以拿走十張,如果想達(dá)到最大的金額,你要怎么拿? 指定每次拿最大的,最終結(jié)果就是拿走最大數(shù)額的錢。 每次拿最大的就是局部最優(yōu),最

    2024年01月19日
    瀏覽(31)
  • LeetCode:376. 擺動序列——說什么貪心和動規(guī)~

    LeetCode:376. 擺動序列——說什么貪心和動規(guī)~

    ??道阻且長,行則將至。?? ??算法,不如說它是一種思考方式?? 算法專欄: ????123 題目描述 :如果連續(xù)數(shù)字之間的差嚴(yán)格地在正數(shù)和負(fù)數(shù)之間交替,則數(shù)字序列稱為 擺動序列 。第一個差(如果存在的話)可能是正數(shù)或負(fù)數(shù)。僅有一個元素或者含兩個不等元素的序列也

    2024年02月03日
    瀏覽(19)
  • 數(shù)據(jù)結(jié)構(gòu)與算法 -- 子序列問題

    數(shù)據(jù)結(jié)構(gòu)與算法 -- 子序列問題

    一、子序列問題 ????????子數(shù)組問題是連續(xù)的,而子序列問題是不連續(xù)的。比如說字符串 “I wanna keep a giraffe in my backyard” 的一種子序列就可以是 “Igbackd”。?子序列不再要求答案是一個連續(xù)的串。一個字符串的子序列,是由原字符串在不改變字符的相對順序的情況下刪

    2024年02月09日
    瀏覽(23)
  • 算法刷題Day 31 分發(fā)餅干+擺動序列+最大子序列和

    分發(fā)餅干其實有很多種寫法,但是下面這種貪心的解法是最好理解,也最好解釋的 我的其他解法 貪心算法 這道題用貪心算法要考慮的細(xì)節(jié)有很多。 動態(tài)規(guī)劃 有點難(甚至涉及到了線段樹),等后面二刷的時候再來學(xué)好了 暴力解法 超時了 貪心算法 貪心算法的代碼寫起來簡

    2024年02月15日
    瀏覽(21)
  • 數(shù)據(jù)結(jié)構(gòu)與算法(3)——貪心算法

    定義:所謂“貪心”,就是每次只考慮自己附近局部范圍的最優(yōu)解,但這種局部最優(yōu)會導(dǎo)致全局最優(yōu)。 考慮當(dāng)前的附近一兩步即可 455. 分發(fā)餅干 簡評:簡單的貪心算法,將“胃口”和“餅干”按升序排列后,每次都只考慮“胃口”最小的小孩,然后把最小的餅干給他,如果

    2024年02月07日
    瀏覽(21)
  • 數(shù)據(jù)結(jié)構(gòu)與算法——貪心算法簡介

    貪心算法是一種算法范式,它遵循在每個階段做出局部最優(yōu)選擇的問題解決啟發(fā)式,希望找到全局最優(yōu)。換句話說,貪心算法在每一步都選擇最好的選項,而不考慮該選擇對未來步驟的影響。 當(dāng)一個問題可以分解成更小的子問題,并且每個子問題的解決方案可以組合起來解決

    2023年04月08日
    瀏覽(14)
  • 貪心算法問題實驗:貪心算法解決TSP問題

    TSP問題是指旅行商問題,即給定一組城市和每對城市之間的距離,求解訪問每一座城市一次并回到起始城市的最短回路。它是組合優(yōu)化中的一個NP困難問題,在運(yùn)籌學(xué)和理論計算機(jī)科學(xué)中有著廣泛的應(yīng)用。 貪心算法是一種在每一步選擇中都采取在當(dāng)前狀態(tài)下最好或最優(yōu)(即最

    2024年02月03日
    瀏覽(20)
  • 數(shù)據(jù)結(jié)構(gòu)與算法之貪心&動態(tài)規(guī)劃

    數(shù)據(jù)結(jié)構(gòu)與算法之貪心&動態(tài)規(guī)劃

    ? ? ? ? 一:思考 ????????1.某天早上公司領(lǐng)導(dǎo)找你解決一個問題,明天公司有N個同等級的會議需要使用同一個會議室,現(xiàn)在給你這個N個會議的開始和結(jié)束 時間,你怎么樣安排才能使會議室最大利用?即安排最多場次的會議?電影的話 那肯定是最多加票價最高的,入場

    2024年02月09日
    瀏覽(25)
  • 【夜深人靜學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法 | 第六篇】貪心算法

    【夜深人靜學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法 | 第六篇】貪心算法

    目錄 前言: 引入: 貪心算法:? ?? 455. 分發(fā)餅干 - 力扣(LeetCode) 376. 擺動序列 - 力扣(LeetCode) 53. 最大子數(shù)組和 - 力扣(LeetCode) 122. 買賣股票的最佳時機(jī) II - 力扣(LeetCode) ? ? ? ? 在本文我們將為大家介紹在計算機(jī)中比較常見的一種算法:貪心算法。他并沒有具體的代

    2024年02月09日
    瀏覽(23)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包