[codility]Max-product-of-three

来源:互联网 发布:tensorflow 图片分类 编辑:程序博客网 时间:2024/05/22 20:20
// you can also use includes, for example:#include <algorithm>#include <climits>int solution(vector<int> &A) {    // write your code in C++98    //...sort A first    sort(A.begin(), A.end());    //...enumerate Q, and then divide to 4 cases, keep record of globalMax    int globalMax = INT_MIN;    int n = A.size();    for(int Q = 1; Q < n-1; ++Q)    {        int localMax;        if(A[Q] > 0)        {            if(A[Q-1] < 0) localMax = A[Q-1]*A[Q]*A[Q+1];            else if(A[Q-1] == 0) localMax = 0;            else localMax = A[Q-1]*A[Q]*A[n-1];        }        else if(A[Q] == 0) localMax = 0;        else//A[Q] < 0        {            if(A[n-1] < 0) localMax = A[Q-1]*A[Q]*A[n-1];            else if(A[n-1] == 0) localMax = 0;            else localMax = A[0]*A[Q]*A[n-1];        }        globalMax = max(globalMax, localMax);    }    //...return result    return globalMax;}

原创粉丝点击