0628:三个数的最大乘积
目录
题目
给你一个整型数组 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
相似问题:
分析
#1
nums 可能有负数,需要分类讨论:
nums 里最多 1 个负数,那么找最大的三个数即可
nums 里至少 2 个负数,还要考虑最小的两个负数乘以最大数的情况
为了方便,直接比较两种情况即可。
|
|
时间复杂度 O(N*log N),64 ms
#2
也可以不排序,直接找最大和最小的几个数。
解答
|
|
时间复杂度 O(N),68 ms