行业资讯
📅 2026/7/31 21:22:53
leetcode 628. 三个数的最大乘积 简单
给你一个整型数组nums在数组中找出由三个数组成的最大乘积并输出这个乘积。示例 1输入nums [1,2,3]输出6示例 2输入nums [1,2,3,4]输出24示例 3输入nums [-1,-2,-3]输出-6提示3 nums.length 10^4-1000 nums[i] 1000分析先对数组从小到大排序。考虑到数组中可能存在负数因此首先需要判断是否所有数字都是负数如果是则取最大的三个负数相乘如果不是则比较最大的三个数和最小的两个数乘以最大的数字的两个乘积取较大乘积作为答案。class Solution { public: int maximumProduct(vectorint nums) { sort(nums.begin(),nums.end()); int nnums.size(); if(nums[n-1]0)return nums[n-1]*nums[n-2]*nums[n-3]; else return max(nums[0]*nums[1]*nums[n-1],nums[n-1]*nums[n-2]*nums[n-3]); } };