0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Maximum Subarray 最大子序和

汽車電子技術(shù) ? 來源:神經(jīng)網(wǎng)絡(luò)與強化學(xué)習(xí) ? 作者:Jemma Liu ? 2023-03-01 11:26 ? 次閱讀

今天的題目是 53. Maximum Subarray 最大子序和

Given an integer array nums, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum.

Example:

Input: [-2,1,-3,4,-1,2,1,-5,4],

Output: 6

Explanation: [4,-1,2,1] has the largest sum = 6.

Follow up:

If you have figured out the O(n) solution, try coding another solution using the divide and conquer approach, which is more subtle.

給定一個整數(shù)數(shù)組 nums ,找到一個具有最大和的連續(xù)子數(shù)組(子數(shù)組最少包含一個元素),返回其最大和。

示例:

輸入: [-2,1,-3,4,-1,2,1,-5,4],

輸出: 6

解釋: 連續(xù)子數(shù)組 [4,-1,2,1] 的和最大,為 6。

進階:

如果你已經(jīng)實現(xiàn)復(fù)雜度為 O(n) 的解法,嘗試使用更為精妙的分治法求解。


Solutions:

class Solution:
    def maxSubArray(self, nums: List[int]) -> int:
        max_sum = nums[0]
        lst = 0
       # if(len(nums)==1): return nums[0]
       '''
       設(shè)置一個累加值,一個next_item值,一個max_sum值進行比較。
       累加值是經(jīng)過的數(shù)值累加的結(jié)果,next_item指示循環(huán)中的下一個新值,
       max_sum用來保留全局最大,并做返回值。
       '''
        for next_item in nums:
            lst = max(next_item,lst+next_item)
            max_sum = max(max_sum,lst)

        return max_sum
class Solution:
    def maxSubArray(self, nums: List[int]) -> int:
        '''
        用DP的思想來解,并對數(shù)組進行原地修改,修改后的值等于該位置之前的最大累加和。
        nums[0]不變,從nums[1]開始更新,對于i位置新值等于nums[i]和nums[i]+累加值
        nums[i-1]中最大項。如果nums[i]小于0則累加后數(shù)值變小,經(jīng)過max之后會被篩選掉。
        最后返回nums數(shù)組中的最大值即可。
        '''
        for i in range(1, len(nums)):
            nums[i] = max(nums[i], nums[i] + nums[i - 1])
        return max(nums)
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 元素
    +關(guān)注

    關(guān)注

    0

    文章

    47

    瀏覽量

    8396
  • 連續(xù)
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

    8833
  • 數(shù)組
    +關(guān)注

    關(guān)注

    1

    文章

    411

    瀏覽量

    25824
收藏 人收藏

    評論

    相關(guān)推薦

    請問數(shù)組定義全部是0,節(jié)點最大子節(jié)點數(shù)目是多少呢?

    ] = [0]; uint8 CskipChldrn[1] = [0];數(shù)組定義全部是0,節(jié)點最大子節(jié)點數(shù)目是多少呢?
    發(fā)表于 05-22 04:56

    為什么架空輸電線路的零電抗大于其正電抗?

    最大沖擊電流出現(xiàn)的條件是什么?什么是派克變換?派克變換的意義是什么?什么是對稱分量法?為什么架空輸電線路的零電抗大于其正電抗(負電抗)?提高暫態(tài)穩(wěn)定性的措施有哪些?
    發(fā)表于 10-25 06:00

    What is the maximum temperatur

    Problem What is the maximum temperature your PCB can handle?  Solution 130 Degrees C.266 Degrees F. Details:
    發(fā)表于 12-29 09:25 ?561次閱讀

    什么是maximum DSL speeds

    什么是maximum DSL speeds  英文縮寫: maximum DSL speeds 中文譯名: 最高DSL速率 分 
    發(fā)表于 02-23 09:51 ?832次閱讀

    保護的最大特點是什么_零保護特點詳解

    保護是指在大短路電流接地系統(tǒng)中發(fā)生接地故障后,就有零電流、零電壓和零功率出現(xiàn),利用這些電氣量構(gòu)成保護接地短路的繼電保護裝置統(tǒng)稱。
    發(fā)表于 02-07 14:39 ?1.4w次閱讀
    零<b class='flag-5'>序</b>保護的<b class='flag-5'>最大</b>特點是什么_零<b class='flag-5'>序</b>保護特點詳解

    電壓是什么_零電壓怎么計算

    本文開始對零電壓的定義和正、負、零電壓的區(qū)別進行了介紹,其次闡述了怎么計算零電壓以及零
    發(fā)表于 02-24 11:49 ?9.2w次閱讀

    保護有方向性嗎_零保護的最大特點

    本文首先介紹了零保護的概念和零保護的特點,其次介紹了零保護的工作原理,最后闡述了零保護的方向性及原理。
    發(fā)表于 04-12 17:08 ?3.7w次閱讀
    零<b class='flag-5'>序</b>保護有方向性嗎_零<b class='flag-5'>序</b>保護的<b class='flag-5'>最大</b>特點

    數(shù)據(jù)結(jié)構(gòu)與算法分析:最大子序列和問題之算法優(yōu)化

    在這個問題中,最大子序列和可能在三處出現(xiàn):即左半部序列、右半部序列、穿過中部從而占據(jù)左右兩半部分的序列。前兩種情況可以通過遞歸求解。而遞歸的基準(zhǔn)情況(base cases)是序列只有一個元素(left == right),若該元素大于0,則返回該元素,否則返回0。
    的頭像 發(fā)表于 04-26 17:07 ?3162次閱讀

    最大子和,貪心解法

    從代碼角度上來講:遍歷nums,從頭開始用count累積,如果count一旦加上nums[i]變?yōu)樨摂?shù),那么就應(yīng)該從nums[i+1]開始從0累積count了,因為已經(jīng)變?yōu)樨摂?shù)的count,只會拖累總和。
    的頭像 發(fā)表于 05-10 10:37 ?828次閱讀

    C編程:“最大子數(shù)組的和” 的動態(tài)規(guī)劃的解法

    最大子數(shù)組之和
    的頭像 發(fā)表于 08-21 09:33 ?1049次閱讀
    C編程:“<b class='flag-5'>最大子</b>數(shù)組的和” 的動態(tài)規(guī)劃的解法

    、負、零分析

    在三相電力系統(tǒng)中,各相電壓或電流依其先后順序分別達到最大值(以正半波幅值為準(zhǔn))的次序,稱為相。
    的頭像 發(fā)表于 06-30 09:23 ?5737次閱讀
    正<b class='flag-5'>序</b>、負<b class='flag-5'>序</b>、零<b class='flag-5'>序</b>分析

    表使用注意事項

    一、相的概念 三相交流電勢瞬時值到達正最大值有一定的先后次序,這種先后次序叫作相。如eA先到達正最大值,隨后是 eB,最后是eC,此時的相
    的頭像 發(fā)表于 09-26 10:50 ?1355次閱讀

    什么是正電流?什么是負電流?什么是零電流?

    什么是正電流?什么是負電流?什么是零電流? 正電流:正電流是指在三相對稱電壓系統(tǒng)中,三相電流的相位角相同,大小相等,且按照a-b-
    的頭像 發(fā)表于 02-04 09:43 ?1.1w次閱讀

    分量各有什么特點

    、負和零分量是電力系統(tǒng)中分析不對稱故障的重要概念。它們分別代表了三相交流系統(tǒng)中的三種不同電流分布狀態(tài)。 正分量 正分量是指三相電
    的頭像 發(fā)表于 07-15 10:49 ?748次閱讀

    、負和零的產(chǎn)生原因

    、負和零是電力系統(tǒng)中常用的三個概念,它們分別表示三相交流電的相關(guān)系。在電力系統(tǒng)中,三相交流電的相關(guān)系對于電力系統(tǒng)的穩(wěn)定運行和設(shè)備
    的頭像 發(fā)表于 07-15 10:51 ?1981次閱讀