这道题十分不容易啊,做到半夜。

class Solution {
public:
static int cmp628(int a, int b)
{
return a > b;
} static int cmp628_2(int a, int b)
{
return abs(a) < abs(b);
} int maximumProduct(vector<int>& nums) {
const int N = ;
int Pos[N];
int Nag[N];
int Nor[N]; int i = , j = , k = ;
for (auto n : nums)
{
if (n >= )
{
Pos[i] = n;
i++;
}
else
{
Nag[j] = n;
j++;
}
Nor[k] = n;
k++;
} sort(Pos, Pos + i, cmp628);
sort(Nag, Nag + j);
sort(Nor, Nor + k, cmp628_2); int a = INT_MIN, b = INT_MIN, c = INT_MIN, d = INT_MIN, max = INT_MIN; //三正
if (i >= )
{
a = Pos[] * Pos[] * Pos[];
if (j >= )
{
b = Pos[] * Nag[] * Nag[];
}
}
else if (i >= )
{
a = Pos[] * Pos[] * Nag[];
if (j >= )
{
b = Pos[] * Nag[] * Nag[];
}
}
if (j >= )
{
c = Nag[] * Nag[] * Nag[];
if (i >= )
{
d = Nag[j - ] * Pos[] * Pos[];
}
else if (i == )
{
d = Nag[] * Nag[] * Pos[];
} }
else if (j >= )
{
c = Nag[] * Nag[] * Pos[];
if (i >= )
{
d = Nag[j - ] * Pos[] * Pos[];
}
else if (i == )
{
d = Nag[] * Nag[] * Pos[];
}
} if (max < a)
max = a;
if (max < b)
max = b;
if (max < c)
max = c;
if (max < d)
max = d; return max;
}
};

leetcode628的更多相关文章

  1. [Swift]LeetCode628. 三个数的最大乘积 | Maximum Product of Three Numbers

    Given an integer array, find three numbers whose product is maximum and output the maximum product. ...

  2. Leetcode628.Maximum Product of Three Numbers三个数的最大乘积

    给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积. 示例 1: 输入: [1,2,3] 输出: 6 示例 2: 输入: [1,2,3,4] 输出: 24 注意: 给定的整型数组长度 ...

随机推荐

  1. python之算法LOB三人组

    一.冒泡排序 a.冒泡排序----优化 如果冒泡排序中执行一趟而没有交换,则列表已经是有序状态,可以直接结算法 import random from timewrap import * @cal_ti ...

  2. Java中变量的使用规则

    不得不接受的变量小脾气: 1.Java 中的变量需要先声明后使用 2.变量使用时,可以声明变量的同时进行初始化 , 也可以先声明后赋值 3.变量中每次只能赋一个值,但可以修改多次 4.main 方法中 ...

  3. eclipse - unresolved inclusion: <stdio.h>

    在linux 上安装eclipse上配置好cdt后,新建项目时,当查找头文件时, 却出现如下错误提示: unresolved inclusion: <stdio.h> 这是c/c++标准库 ...

  4. JDK与JRE及其在Eclipse中的使用

    转载自:http://blog.csdn.net/gx1058742912/article/details/51033942 JDK与jRE的区别 JDK(java development kit): ...

  5. 《Think in Java》(六)访问权限控制

    类访问权限:public,default(包访问权限的类,在包外可以调用该类的static成员) 类属性访问权限:public,protected,default,private

  6. numpy常用函数之randn

    numpy中有一些常用的用来产生随机数的函数,randn就是其中一个,randn函数位于numpy.random中,函数原型如下: numpy.random.randn(d0, d1, ..., dn ...

  7. java:内存处理ByteArrayOutputStream,ByteArrayInputStream

    //用内存,将小写字母替换成大写字母 String str = "helloworld,goodmorning"; ByteArrayOutputStream bos = null ...

  8. nginx基本参数详解

    运行用户 user nobody; 启动进程,通常设置成和cpu的数量相等 worker_processes 1; 全局错误日志及PID文件 error_log logs/error.log; err ...

  9. ural 2012 About Grisha N.(水)

    2012. About Grisha N. Time limit: 1.0 secondMemory limit: 64 MB Grisha N. told his two teammates tha ...

  10. URL OpenDocument

    以前用在DASHBOARD 使用URL传参 到webi 报表.还是很多不理解,现在明白多了.于是做个较为详细的记录.尽管dashboard 很快就被淘汰了.也许没什么用.看看也好. 之前的报表,传参都 ...