Leetcode Contest 38
这次比赛我表现得比较差,只能做出第一题和第三题。第四题比赛结束之后很快也写出来了,而第二题确实花了我一个多小时才能想出来。
第一题Maximum Product of Three Numbers
先将数组排序,那么最大值必然在下面四种情况中:
- 第一个数 X 第二个数 X 第三个数
- 倒数第一个数 X 倒数第二个数 X 倒数第三个数
- 第一个数 X 倒数第一个数 X 倒数第二个数
- 第一个数 X 第二个数 X 倒数第一个数
class Solution(object):
def maximumProduct(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
nums.sort()
return max(nums[0]*nums[1]*nums[2],
nums[-1]*nums[-2]*nums[-3],
nums[0]*nums[-1]*nums[-2],
nums[0]*nums[1]*nums[-1])