class Solution { public: long long solve(vector<int>& A) { // write code here int n = A.size(); sort(A.begin(), A.end()); long max = (long)A[n - 1] *(long)A[n - 2]* (long)A[n - 3]; if(A[0] < 0 && A[1] < 0 &&(long)A[0] *(long)A[1] * (long)A[n - 1] > max){ max = (long)A[0] * (long)A[1] * (long)A[n - 1]; } return max; } }; //虽然方法是n*logn的但是还是有几个要注意的,当int型整数进行相乘时,会返回的是一个int型,如果会超出范围者返回一个奇奇怪怪的数,有可能是随机数,所以但凡遇到那些int型相乘结果是给max赋值或者比较的时候一定得强转