
LeetCode 训练场:1464. 数组中两元素的最大乘积
最大的两个数:排序后的数组的最后两个元素。 最大的数和最小的数:可能会产生更大的乘积,尤其是在负数的情况下。 最小的两个数:如果它们都是负数,减去1后会更负,乘积可能更大。
发布日期:2021-05-08 06:28:17
浏览次数:20
分类:精选文章
本文共 530 字,大约阅读时间需要 1 分钟。
为了使表达式 ( (nums[i]-1) \times (nums[j]-1) ) 取得最大值,我们需要考虑以下三个情况:
通过计算这三种情况的乘积并比较,我们可以确保得到最大的值。
最终代码如下:
public int maxProduct(int[] nums) { Arrays.sort(nums); int n = nums.length; int case1 = (nums[n - 1] - 1) * (nums[n - 2] - 1); int case2 = (nums[n - 1] - 1) * (nums[0] - 1); int case3 = (nums[0] - 1) * (nums[1] - 1); return Math.max(Math.max(case1, case2), case3);}
这个代码首先对数组排序,然后计算三种可能的乘积,最后返回最大的那个,确保在所有情况下都能得到正确的结果。
发表评论
最新留言
很好
[***.229.124.182]2025年03月27日 19时04分26秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
JVM - 参数配置影响线程数
2019-03-05
idea如何导入一个maven项目
2019-03-05
在 springboot 项目中全局处理异常
2019-03-05
Keil修改Stm32的工程名字
2019-03-05
ILI9341几个重要的命令
2019-03-05
AD如何对原理图进行注释
2019-03-05
力扣:地图分析(多源bfs)
2019-03-05
NC15136: 迷宫
2019-03-05
动态点击a标签
2019-03-05
@RequestBody和@RequestParam
2019-03-05
oracle创建序列语法
2019-03-05
springboot通过控制层跳转页面404
2019-03-05
idea2020 没有 tomcat server
2019-03-05
jq动态修改元素的onclick属性的值
2019-03-05
为什么讨厌所谓仿生AI的说法
2019-03-05
ORACLE 客户端工具
2019-03-05
Elasticsearch下载慢?分享百度云下载-ELK
2019-03-05
云服务器springboot jar项目开启jmx remote监控-解决无法连接的问题
2019-03-05
文件上传-FileUpload
2019-03-05