@zyfsuzy public int maximumProduct(int[] nums) { if(nums == null || nums.length < 3) return 0; int negative,positive; int maxPositiveTree[3] = {0}; // 最大的三个正数 int maxAbsNegativeTree[3] = {0}; // 绝对值最大三个负数 int maxNegativeTree[3] = {0}; // 最大的三个负数 for (i=0;iabs(maxAbsNegativeTree[2])){ maxAbsNegativeTree[2] = nums[i]; } else if (abs(nums[i])>abs(maxAbsNegativeTree[1]) { maxAbsNegativeTree[1] = nums[i]; } else if (abs(nums[i])>abs(maxAbsNegativeTree[0]) { maxAbsNegativeTree[0] = nums[i]; } } else { positive++; if(nums[i]>maxPositiveTree[2]){ maxPositiveTree[2] = nums[i]; } else if (nums[i]>maxPositiveTree[1]) { maxPositiveTree[1] = nums[i]; } else if (nums[i]>maxPositiveTree[0]) { maxPositiveTree[0] = nums[i]; } } } // 都是整数 if (negative<1){ return maxPositiveTree[0]*maxPositiveTree[1]*maxPositiveTree[2]; } // 都是负数 if (negative<1){ return maxNegativeTree[0]*maxNegativeTree[1]*maxNegativeTree[2]; } return Math.max(maxPositiveTree[0]*maxPositiveTree[1]*maxPositiveTree[2],maxPositiveTree[0]*maxPositiveTree[1]*maxAbsNegativeTree[0],maxPositiveTree[0]*maxAbsNegativeTree[0]*maxAbsNegativeTree[1]); }
php三个数乘积,三个数的最大乘积
最新推荐文章于 2022-03-22 22:06:18 发布