成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

leetcode-152-Maximum Product Subarray

thursday / 2918人閱讀

摘要:問題本質(zhì)本質(zhì)動態(tài)規(guī)劃問題。局部最優(yōu),全局最優(yōu)。乘法問題,存在的情況是負(fù)數(shù)或者正數(shù),或者從當(dāng)前數(shù)開始新的連續(xù)元素相乘可能發(fā)生的情況在某個節(jié)點,繼續(xù)之前的增大減小,從此節(jié)點轉(zhuǎn)折。所以只要在局部動態(tài)中,保持最大最小當(dāng)前,進行判斷保留即可。

Given an integer array nums, find the contiguous subarray within an array (containing at least one number) which has the largest product.

Example 1:

Input: [2,3,-2,4]
Output: 6
Explanation: [2,3] has the largest product 6.

Example 2:

Input: [-2,0,-1]
Output: 0
Explanation: The result cannot be 2, because [-2,-1] is not a subarray.

問題本質(zhì):
本質(zhì):動態(tài)規(guī)劃問題。 局部最優(yōu),全局最優(yōu)。
 product-乘法問題,存在的情況是 負(fù)數(shù)或者正數(shù),或者從當(dāng)前數(shù)開始新的連續(xù)元素相乘
 可能發(fā)生的情況: 在某個節(jié)點,繼續(xù)之前的增大/減小,從此節(jié)點轉(zhuǎn)折。
 所以只要在局部動態(tài)中,保持最大/最小/當(dāng)前,進行判斷保留即可。
應(yīng)用:挖掘問題的本質(zhì),將問題抽象化,  局部:之前的值和當(dāng)前值是同鄉(xiāng)還是異向的問題,同向則被覆蓋,異向則被保留。如此迭代。
class Solution:
    def maxProduct(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        final_max=max_num=min_num=nums[0]
        for num_cur in nums[1:]:
            # min_num=min(num_cur*min_num,num_cur)
            max_num_tmp=max(num_cur*min_num,num_cur*max_num)
            min_num=min(num_cur*min_num,num_cur*max_num,num_cur)
            max_num=max(max_num_tmp,num_cur)
            final_max=max(max_num,final_max)
        return final_max
if __name__=="__main__":
    st=Solution()
    num=[2,3,-2,-5,4,-5,8]
    # num=[-2,0,-1]
    # num=[2,3,-2,4]
    num=[-1,-2,-9,-6]
    out=st.maxProduct(num)
    print(out)

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/42256.html

相關(guān)文章

  • Leetcode[152] Maximum Product Subarray

    摘要:復(fù)雜度思路要保留一個到某一位來看的最大值和最小值。因為在數(shù)組中有負(fù)數(shù)的出現(xiàn),所以到這一位為止的能得到的最大值,可能是由之前的最大值和這個數(shù)相乘得到,也可能是最小值和這個數(shù)相乘得到的。 Leetcode[152] Maximum Product Subarray Find the contiguous subarray within an array (containing at le...

    _ipo 評論0 收藏0
  • leetcode152 Maximum Product Subarray

    摘要:題目要求從一個整數(shù)數(shù)組中找到一個子數(shù)組,該子數(shù)組中的所有元素的乘積最大。比如數(shù)組的最大乘積子數(shù)組為思路與代碼這題目考察了動態(tài)編程的思想。至于為什么還要比較,是因為如果是一個負(fù)數(shù)的,那么之前的最小乘積在這里可能就成為了最大的乘積了。 題目要求 Find the contiguous subarray within an array (containing at least one num...

    Arno 評論0 收藏0
  • [LintCode/LeetCode] Maximum Product Subarray

    摘要:這是一道簡單的動規(guī)題目,同步更新數(shù)組解決了為負(fù)數(shù)的問題。即使是求最小乘積子序列,也可以通過取和的最小值獲得。 Problem Find the contiguous subarray within an array (containing at least one number) which has the largest product. Example For example, g...

    meteor199 評論0 收藏0
  • leetcode 部分解答索引(持續(xù)更新~)

    摘要:前言從開始寫相關(guān)的博客到現(xiàn)在也蠻多篇了。而且當(dāng)時也沒有按順序?qū)懍F(xiàn)在翻起來覺得蠻亂的。可能大家看著也非常不方便。所以在這里做個索引嘻嘻。順序整理更新更新更新更新更新更新更新更新更新更新更新更新更新更新更新更新 前言 從開始寫leetcode相關(guān)的博客到現(xiàn)在也蠻多篇了。而且當(dāng)時也沒有按順序?qū)憽F(xiàn)在翻起來覺得蠻亂的??赡艽蠹铱粗卜浅2环奖?。所以在這里做個索引嘻嘻。 順序整理 1~50 1...

    leo108 評論0 收藏0
  • 前端 | 每天一個 LeetCode

    摘要:在線網(wǎng)站地址我的微信公眾號完整題目列表從年月日起,每天更新一題,順序從易到難,目前已更新個題。這是項目地址歡迎一起交流學(xué)習(xí)。 這篇文章記錄我練習(xí)的 LeetCode 題目,語言 JavaScript。 在線網(wǎng)站:https://cattle.w3fun.com GitHub 地址:https://github.com/swpuLeo/ca...我的微信公眾號: showImg(htt...

    張漢慶 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<