1. 程式人生 > >lintcode- 乘積最大子序列

lintcode- 乘積最大子序列

找出一個序列中乘積最大的連續子序列(至少包含一個數)。

您在真實的面試中是否遇到過這個題?

樣例 比如, 序列 [2,3,-2,4] 中乘積最大的子序列為 [2,3] ,其乘積為6

    class Solution {  
    public:  
        
        int maxProduct(vector<int>& nums) {  
            
            int posMax = nums[0];  
            int negMax = nums[0];  
            int ret = nums[0];  
            for(int i=1;i<nums.size();i++)  
            {  
                int tempPosMax = posMax;  
                int tempNegMax = negMax;  
                posMax = max(nums[i],max(nums[i]*tempPosMax,nums[i]*tempNegMax));  
                negMax = min(nums[i],min(nums[i]*tempPosMax,nums[i]*tempNegMax));  
                ret = max(ret,posMax);  
            }  
            return ret;  
        }  
    };  


相關推薦

lintcode- 乘積大子序列

找出一個序列中乘積最大的連續子序列(至少包含一個數)。 您在真實的面試中是否遇到過這個題? 樣例 比如, 序列 [2,3,-2,4] 中乘積最大的子序列為 [2,3] ,其乘積為6 class Solution { public:

乘積大子序列 Maximum Product Subarray

空間分析 連續 思路 特殊情況 time imu complex 英文 輸入 [抄題]: 找出一個序列中乘積最大的連續子序列(至少包含一個數)。 比如, 序列 [2,3,-2,4] 中乘積最大的子序列為 [2,3] ,其乘積為6。 [暴力解法]: 時間分析:每次j循環時都

152 Maximum Product Subarray 乘積大子序列

-s true www. com for pre pro return ems 找出一個序列中乘積最大的連續子序列(該序列至少包含一個數)。例如, 給定序列 [2,3,-2,4],其中乘積最大的子序列為 [2,3] 其乘積為 6。詳見:https://leetcode.co

(Java) LeetCode 152. Maximum Product Subarray —— 乘積大子序列

ann solution least posit 當前 res 暴力 根據 with Given an integer array nums, find the contiguous subarray within an array (containing at least

【LeetCode】152. 乘積大子序列 結題報告 (C++)

原題地址:https://leetcode-cn.com/problems/maximum-product-subarray/description/ 題目描述: 給定一個整數陣列 nums ,找出一個序列中乘積最大的連續子序列(該序列至少包含一個數)。 示例 1: 輸入: [2,3

LeetCode152. 乘積大子序列

題目 給定一個整數陣列 nums ,找出一個序列中乘積最大的連續子序列(該序列至少包含一個數)。 示例 1: 輸入: [2,3,-2,4] 輸出:6 解釋: 子陣列 [2,3] 有最大乘積 6。 示例 2: 輸入: [-2,0,-1] 輸出:

leetcode 152 乘積大子序列

給定一個整數陣列 nums ,找出一個序列中乘積最大的連續子序列(該序列至少包含一個數)。 示例 1: 輸入: [2,3,-2,4] 輸出: 6 解釋: 子陣列 [2,3] 有最大乘積 6。   解法:動態規劃    

[Swift]LeetCode152. 乘積大子序列 | Maximum Product Subarray

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

31.動態規劃-乘積大子序列-Leetcode 152(python)

題目描述 給定一個整數陣列 nums ,找出一個序列中乘積最大的連續子序列(該序列至少包含一個數)。 示例 示例 1: 輸入: [2,3,-2,4] 輸出: 6 解釋: 子陣列 [2,3] 有最大乘積 6。 示例 2: 輸入: [

LeetCode 152. 乘積大子序列(C++、python)

給定一個整數陣列 nums ,找出一個序列中乘積最大的連續子序列(該序列至少包含一個數)。 示例 1: 輸入: [2,3,-2,4] 輸出: 6 解釋: 子陣列 [2,3] 有最大乘積 6。 示例 2: 輸入: [-2,0,-1] 輸出: 0 解釋: 結果不能為 2

152. 乘積大子序列

152.乘積最大子序列 給定一個整數陣列 nums ,找出一個序列中乘積最大的連續子序列(該序列至少包含一個數)。 示例 1: 輸入: [2,3,-2,4] 輸出: 6 解釋: 子陣列 [2,3] 有最大乘積 6。 示例 2: 輸入: [-2,0,-1] 輸出:

LeetCode第152題.乘積大子序列

原題如下: 給定一個整數陣列 nums ,找出一個序列中乘積最大的連續子序列(該序列至少包含一個數)。 示例 1: 輸入: [2,3,-2,4] 輸出: 6 解釋: 子陣列 [2,3] 有最大乘積 6。 示例 2: 輸入: [-2,0,-1] 輸出: 0 解釋:

【Leetcode_總結】152. 乘積大子序列 - python

Q: 給定一個整數陣列 nums ,找出一個序列中乘積最大的連續子序列(該序列至少包含一個數)。 連結:https://leetcode-cn.com/problems/maximum-product-subarray/submissions/ 思路:使用動態規劃

乘積大子序列

最大乘積可以由正數乘正數或者負數乘負數得到,所以在掃描過程中需要記錄兩個數值,一個最大值(max),一個最小值(min)。 如果當前元素大於等於0,那麼通過比較max*nums[i]和nums[i]的大小就可以得到到i為止的最大乘積子序列。 如果當前元素小於0,通過比較min*nums

Leetcode 152. 乘積大子序列(Python3)

152. 乘積最大子序列 給定一個整數陣列 nums ,找出一個序列中乘積最大的連續子序列(該序列至少包含一個數)。 示例 1: 輸入: [2,3,-2,4] 輸出: 6 解釋: 子陣列 [2,3] 有最大乘積 6。 示例 2: 輸入: [-2,0

LeetCode152——乘積大子序列

我的LeetCode程式碼倉:https://github.com/617076674/LeetCode 原題連結:https://leetcode-cn.com/problems/maximum-product-subarray/description/ 題目描述: 知識點:

Leetcode 152. 乘積大子序列

給定一個整數陣列 nums ,找出一個序列中乘積最大的連續子序列(該序列至少包含一個數)。 示例 1: 輸入: [2,3,-2,4] 輸出: 6 解釋: 子陣列 [2,3] 有最大乘積 6。 示例 2: 輸入: [-2,0,-1] 輸出: 0 解釋:&

動態規劃——乘積大子序列

題目連結:http://www.lintcode.com/zh-cn/problem/maximum-product-subarray/ 參考資料:http://blog.csdn.net/wzy_1988/article/details/9319897        

python求解大子序列乘積問題,子序列可連續也可不連續

    題目意思很簡單,與之前博文中的最大子序列和問題其實是如出一轍的,只是這裡需要考慮的問題會多一點,因為加法的話不會出現負負得正的情況,在這裡要求最大子序列乘積就需要維持兩個動態遍歷,一個儲存上一次乘積留下的最大值,一個儲存上一次乘積留下的最小值,這裡如果接下來的數字為

HDU acm 1003 Max Sum || 動態規劃求大子序列和詳解

line namespace num more sequence mem ould 動態規劃 ger Max Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Ot