[leetcode]628. Maximum Product of Three Numbers
来源:互联网 发布:我的世界手机java版 编辑:程序博客网 时间:2024/05/21 09:58
Given an integer array, find three numbers whose product is maximum and output the maximum product.
Example 1:
Input: [1,2,3]Output: 6
Example 2:
Input: [1,2,3,4]Output: 24
方法一:先排序,考虑数组正负情况, 有点啰嗦但逻辑易懂
int maximumProduct(vector<int>& nums) { sort(nums.begin(),nums.end()); int len = nums.size(); int a,b,c; c = nums[len-1]; b = nums[len-2]; a = nums[len-3]; if(a>0)return max(nums[0]*nums[1]*c,a*b*c); else if( a ==0 ) { if(len==3)return 0; if(len>=5)return nums[len-5]*nums[len-4]*c;//l两个负数 else return a*b*c; } else if(a<0) { if(c<0 )return a*b*c; if(c>=0 &&b<0 )return nums[0]*nums[1]*c; if(c>=0 && b>0 &&len>=4)return nums[0]*nums[1]*c; if(c>=0 && b>0 &&len==3)return a*b*c; } return 0; }
方法2:精简版
public int maximumProduct(int[] nums) { Arrays.sort(nums); int n = nums.length; int s = nums[n-1] * nums[n-2] * nums[n-3]; s = Math.max(s, nums[n-1] * nums[n-2] * nums[0]); s = Math.max(s, nums[n-1] * nums[1] * nums[0]); s = Math.max(s, nums[2] * nums[1] * nums[0]); return s; }
阅读全文
1 0
- [leetcode]628. Maximum Product of Three Numbers
- leetcode#628. Maximum Product of Three Numbers
- leetcode: 628. Maximum Product of Three Numbers
- leetcode 628. Maximum Product of Three Numbers
- [LeetCode] 628. Maximum Product of Three Numbers
- [leetcode]628. Maximum Product of Three Numbers
- LeetCode 628. Maximum Product of Three Numbers
- leetcode -- 628. Maximum Product of Three Numbers
- [LeetCode]628. Maximum Product of Three Numbers
- [LeetCode]628. Maximum Product of Three Numbers
- 【LeetCode】628. Maximum Product of Three Numbers
- LeetCode 628. Maximum Product of Three Numbers
- Leetcode:628. Maximum Product of Three Numbers
- LeetCode 628. Maximum Product of Three Numbers
- 【LeetCode】628. Maximum Product of Three Numbers
- LeetCode-628. Maximum Product of Three Numbers
- leetcode 628. Maximum Product of Three Numbers
- leetcode 628:Maximum Product of Three Numbers
- 二进制与十六进制相互转换
- Professional JS(三.Language basic-syntax&keywords&reserved&variables&half data type)&黑画(5)
- 在 Laravel 的 Blade 模版中定义变量
- centos 下修改用户密码
- halcon学习笔记——Image,region,xld初步
- [leetcode]628. Maximum Product of Three Numbers
- 最小的K个数
- PAT甲级真题及训练集(15)--1005. Spell It Right (20)
- 欢迎使用CSDN-markdown编辑器
- 小程序开发系列(八)利用SQL实现access_token的自动通知
- Python机器学习应用 | 基于聚类的“图像分割”
- vc平台下将数组里的数据画成曲线
- JS模式中总结的知识点
- qq下方图标