zoukankan      html  css  js  c++  java
  • 628. 三个数的最大乘积

     

    代码一:

    1 class Solution(object):
    2     def maximumProduct(self, nums):
    3         """
    4         :type nums: List[int]
    5         :rtype: int
    6         """
    7         # 降序排列
    8         nums.sort(reverse=True)
    9         return max(nums[0] * nums[1] * nums[2], nums[0] * nums[1] * nums[-1], nums[0] * nums[-1] * nums[-2])

    代码二:

     1 class Solution(object):
     2     def maximumProduct(self, nums):
     3         """
     4         :type nums: List[int]
     5         :rtype: int
     6         """
     7         # 处理nums中全是负数的情况
     8         ans = 1
     9         if max(nums) < 0:
    10             for i in range(3):
    11                 ans *= max(nums)
    12                 nums.remove(max(nums))
    13             return ans
    14         temp = []
    15         # 取两个绝对值最大的负数
    16         for i in range(2):
    17             if min(nums) < 0:
    18                 temp.append(min(nums))
    19                 nums.remove(min(nums))
    20         temp.append(max(nums))
    21         nums.remove(max(nums))
    22         j = 0
    23         while j < 2 and len(nums) != 0:
    24             temp.append(max(nums))
    25             nums.remove(max(nums))
    26             j += 1
    27         # 按绝对值大小降序排列
    28         temp.sort(key=abs, reverse=True)
    29         if len(temp) == 3:
    30             return temp[0] * temp[1] * temp[2]
    31         else:
    32             ans = temp[0] * temp[1]
    33             for i in range(2, len(temp)):
    34                 if ans > 0 and temp[i] > 0:
    35                     return ans * temp[i]
    36                 elif ans < 0 and temp[i] < 0:
    37                     return ans * temp[i]
    38         return ans
  • 相关阅读:
    ecshop的详细安装步骤
    php+mysql 除了设置主键防止表单提交内容重复外的另一种方法
    strcmp
    map set区别
    ++i vs i++
    stl vector erase
    user initialization list vs constructor assignment
    default constructor,copy constructor,copy assignment
    memset
    strcpy vs memcpy
  • 原文地址:https://www.cnblogs.com/panweiwei/p/12799854.html
Copyright © 2011-2022 走看看