628. 三个数的最大乘积 - 力扣(LeetCode) (leetcode-cn.com)https://leetcode-cn.com/problems/maximum-product-of-three-numbers/
代码实现#includeint* sort(int a[], int n) { int i, j, temp; for (i = 0; i < n - 1; i++) //比较n-1次(第一次循环表示趟数) { for (j = 0; j < n - i - 1; j++) // 最后一次比较a[n-i-1]与a[n-i-2] (第二次循环表示比较次数 ) { if (a[j] < a[j + 1]) { temp = a[j + 1]; a[j + 1] = a[j]; a[j] = temp; } } } return a; } int sum = 1; int i = 0; int FindMaxi(int* nums, int numsSize) { for (i = 0; i < numsSize; i++) { if (nums[i] > 0 && nums[i + 1] < 0) return i; } } int maximumProduct(int* nums, int numsSize) { if (numsSize < 3) return 0; if (numsSize == 3) { for (int i = 0; i < numsSize; i++) sum *= nums[i]; return sum; } else { sort(nums, numsSize); int ret1 = nums[0] * nums[1] * nums[2];//nums全正全负情况 int ret2 = nums[0] * nums[numsSize-1] * nums[numsSize-2]; return ret1>ret2 ? ret1:ret2; } } int main() { int a[3] = { -1,-2,-3}; printf("%dn",maximumProduct(a, 3)); return 0; }
在自己电脑上运行是对的
兄弟们帮忙看下,哪里有错,为什么力扣那通不过!!!!!



