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

    原题

    数组sort之后分类讨论

    • 元素全正或全负,则最后的三个元素之积最大
    • 部分为正部分为负,则要么最后三个元素之积最大,要么前两个元素与最后一个元素之积最大
    1. 如果nums[0]✖nums[1]>0,则不管nums[2]~nums[n-1]为正为负都是和最后一个元素之积最大
    2. 如果nums[0]✖nums[1]<0,则必有nums[0]<0,nums[1]>0,此时不管元素个数>3还是<=3,都取最后三个数之积为最大
    1 class Solution:
    2     def maximumProduct(self, nums: List[int]) -> int:
    3         nums.sort()
    4         return max(nums[-1] * nums[-2] * nums[-3],nums[-1] * nums[0] * nums[1])
  • 相关阅读:
    linux c++ 实现http请求
    pip 换源
    Web API接口
    DRF框架知识总览
    jq+bs插件
    element-ui插件
    axios插件
    前端存储数据汇总
    Vuex插件
    全局配置css和js
  • 原文地址:https://www.cnblogs.com/deepspace/p/14322206.html
Copyright © 2011-2022 走看看