标签:链接 nbsp 联系 网络 个数 imu 授权 lis 负数
给你一个整型数组 nums ,在数组中找出由三个数组成的最大乘积,并输出这个乘积。
示例 1:
输入:nums = [1,2,3]
输出:6
示例 2:
输入:nums = [1,2,3,4]
输出:24
示例 3:
输入:nums = [-1,-2,-3]
输出:-6
提示:
3 <= nums.length <= 104
-1000 <= nums[i] <= 1000
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/maximum-product-of-three-numbers
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。****
class Solution:
def maximumProduct(self, nums: List[int]) -> int:
nums.sort()
n=len(nums)
t=-1
#寻找大于等于0的位置
for i in range(n):
if nums[i]>=0:
t=i
break
if n==3:#只有3个数
return nums[0]*nums[1]*nums[2]
if t==-1:
#全是负数
return nums[-1]*nums[-2]*nums[-3]
elif t==n-1:
#一个正数或0
return nums[-1]*nums[0]*nums[1]
#elif t==n-2:
#两个正数或0
# return max(nums[-1]*nums[-2]*nums[-3],nums[-1]*nums[0]*nums[1])
else:#两个正数或以上
return max(nums[-1]*nums[-2]*nums[-3],nums[-1]*nums[0]*nums[1])
标签:链接 nbsp 联系 网络 个数 imu 授权 lis 负数
原文地址:https://www.cnblogs.com/hqzxwm/p/14396116.html