拓冰建站拓冰建站
首页 / 资讯中心 / 正文

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]); } };
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门