zoukankan      html  css  js  c++  java
  • [LeetCode]题解(python):152-Maximum Product Subarray

    题目来源:

      https://leetcode.com/problems/maximum-product-subarray/


    题意分析:

      给定一个数组,这个数组所有子数组都有一个乘积,那么返回最大的乘积。


    题目思路:

      由于题目输入的都是整型的,所以所有的数相差获得的是最大或者最小值。那么我们同时记录可以获得的最大和最小值,每次更新。


    代码(python):

    class Solution(object):
        def maxProduct(self, nums):
            """
            :type nums: List[int]
            :rtype: int
            """
            if len(nums) == 0:
                return 0
            res = nums[0]
            ans = max_ans = min_ans = nums[0]
            i = 1
            while i < len(nums):
                tmp1,tmp2 = nums[i]*max_ans,nums[i]*min_ans
                max_ans = max(nums[i],max(tmp1,tmp2))
                min_ans = min(nums[i],min(tmp1,tmp2))
                ans = max(max_ans,ans)
                i += 1
            return ans
    View Code
  • 相关阅读:
    1-29反射
    1-28Map简介
    1-27TreeSet简介
    1-26HashSet简介
    1-25泛型
    1-24List三个子类的特点
    1-23集合概述
    Java接口
    1-22日期类型
    简易计算器的实现
  • 原文地址:https://www.cnblogs.com/chruny/p/5478317.html
Copyright © 2011-2022 走看看