// 不用排序的吧 private int max(int[] nums) { int minNag1 = 0; int minNag2 = 0; int maxPos1 = 0; int maxPos2 = 0; for (int num : nums) { if (num < 0) { if (num <= minNag1) { // 比最小值还小,替换minNag2为minNag1 minNag2 = minNag1; minNag1 = num; } else if (num < minNag2) { // 比minNag1大但比minNag2小,替换minNag2为num minNag2 = num; } } else if (num > 0) { if (num >= maxPos2) { maxPos1 = maxPos2; maxPos2 = num; } else if (num > maxPos1) { maxPos1 = num; } } } return Math.max(minNag1 * minNag2, maxPos1 * maxPos2); }
1 3

相关推荐

07-25 10:39
门头沟学院 Java
点赞 评论 收藏
分享
07-07 12:25
门头沟学院 Java
程序员牛肉:你这个智邮公司做的就是那个乐山市税务系统的服务吗?
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务