Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >​【每日leetcode】48.数组中两元素的最大乘积

​【每日leetcode】48.数组中两元素的最大乘积

作者头像
一条coding
发布于 2021-09-15 03:11:50
发布于 2021-09-15 03:11:50
27900
代码可运行
举报
文章被收录于专栏:一条IT一条IT
运行总次数:0
代码可运行

❝这题都是正数,降低了难度 ——leetcode此题热评 ❞

前言

哈喽,大家好,我是一条。

糊涂算法,难得糊涂

《糊涂算法》专栏上线倒计时——7天

Question

1464. 数组中两元素的最大乘积

难度:简单

给你一个整数数组 nums,请你选择数组的两个不同下标 i 和 j,使 (nums[i]-1)*(nums[j]-1) 取得最大值。

请你计算并返回该式的最大值。

示例 1:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
输入:nums = [3,4,5,2]
输出:12 
解释:如果选择下标 i=1 和 j=2(下标从 0 开始),则可以获得最大值,(nums[1]-1)*(nums[2]-1) = (4-1)*(5-1) = 3*4 = 12

示例 2:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
输入:nums = [1,5,4,5]
输出:16
解释:选择下标 i=1 和 j=3(下标从 0 开始),则可以获得最大值 (5-1)*(5-1) = 16

示例 3:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
输入:nums = [3,7]
输出:12

提示:

2 <= nums.length <= 500 1 <= nums[i] <= 10^3

Solution

❝排序大法好 ❞

  • 排序
  • 相乘

Code

❝所有leetcode代码已同步至github 欢迎star

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
 * @author 一条coding
 */
class Solution {
    public int maxProduct(int[] nums) {
        Arrays.sort(nums);
        return (nums[nums.length-1]-1)*(nums[nums.length-2]-1); 
    }
}

Result

❝复杂度分析

  • 时间复杂度:O(N)

🌈寻宝

❝⭐今天是坚持刷题更文的第「46」/100天 ⭐各位的点赞、关注、收藏、评论、订阅就是一条创作的最大动力 ⭐更多算法题欢迎关注专栏《leetcode》 ❞

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一条coding 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
​LeetCode刷题实战152:乘积最大子数组
https://leetcode-cn.com/problems/maximum-product-subarray/
程序员小猿
2021/01/19
2770
leetCode163|数组中两元素的最大乘积
给你一个整数数组 nums,请你选择数组的两个不同下标 i 和 j,使 (nums[i]-1)*(nums[j]-1) 取得最大值。
码农王同学
2021/01/15
4440
【leetcode刷题】T207-三个数的最大乘积
https://leetcode-cn.com/problems/maximum-product-of-three-numbers
木又AI帮
2019/12/12
5060
LeetCode 1464. 数组中两元素的最大乘积
给你一个整数数组 nums,请你选择数组的两个不同下标 i 和 j,使 (nums[i]-1)*(nums[j]-1) 取得最大值。
Michael阿明
2020/07/13
4350
数组中两元素的最大乘积 : 简单模拟题
这是 LeetCode 上的 1464. 数组中两元素的最大乘积 ,难度为 简单。
utopia
2023/03/20
2960
数组中两元素的最大乘积 : 简单模拟题
LeetCode 训练场:1464. 数组中两元素的最大乘积
将数组进行排序后,取最后的两元素进行相乘返回即可,主要进行排序操作,时间复杂度为
村雨遥
2022/06/15
2870
LeetCode 训练场:1464. 数组中两元素的最大乘积
LeetCode 1464. 数组中两元素的最大乘积
给你一个整数数组 nums,请你选择数组的两个不同下标 i 和 j,使 (numsi-1)*(numsj-1) 取得最大值。
freesan44
2021/09/06
3530
LeetCode 1464. 数组中两元素的最大乘积
【day05】LeetCode(力扣)每日一刷[1464. 数组中两元素的最大乘积][347. 前 K 个高频元素][2163. 删除元素后和的最小差值 ]
解题思路: 这道题十分简单,当作热身吧。 要选择下标 i 与 j 让 (nums[ i ] - 1)*(nums[ j ] - 1) 取得最大值。 我们不需要纠结选择哪两个下标才能取到最大值,直接为数组排序,选择最大的两个元素分别减1再相乘即可。 我使用的是最大堆为数组元素排序。
.29.
2022/11/15
3600
【day05】LeetCode(力扣)每日一刷[1464. 数组中两元素的最大乘积][347. 前 K 个高频元素][2163. 删除元素后和的最小差值 ]
【leetcode刷题】T16-乘积最大子序列
今天分享leetcode第16篇文章,也是leetcode第152题—乘积最大子序列(Maximum Product Subarray),地址是:https://leetcode.com/problems/maximum-product-subarray/
木又AI帮
2019/07/18
5300
力扣刷题篇——排序
目录  1287.题目描述🍔: 解题思路🍖:  代码附上🍳:  1464 题目描述🥖  解题思路: 代码附上:  1636 题目描述📌: 解题思路🎀:  代码附上: 436 题目描述🎐  解题思路🍜:  代码附上🦪  1287.题目描述🍔: 给你一个非递减的 有序 整数数组,已知这个数组中恰好有一个整数,它的出现次数超过数组元素总数的 25%。 请你找到并返回这个整数 示例: 输入:arr = [1,2,2,6,6,6,6,7,10] 输出:6 解题思路🍖:  方法1: 注意看题目要求
王同学要努力
2022/12/20
2890
力扣刷题篇——排序
【每日leetcode】37.最小操作次数使数组元素相
给定一个长度为 n 的 非空 整数数组,每次操作将会使 n - 1 个元素增加 1。找出让数组所有元素相等的最小操作次数。
一条coding
2021/09/15
7230
【每日leetcode】49.下一个更大元素1
给你两个 没有重复元素 的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。
一条coding
2021/09/15
2510
【每日leetcode】46.寻找数组的中心下标
数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。
一条coding
2021/09/15
5190
【每日leetcode】39.调整数组顺序使奇数位于偶数前面
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。
一条coding
2021/09/15
4130
LeetCode 2002. 两个回文子序列长度的最大乘积(状态压缩+枚举状态子集+预处理)
给你一个字符串 s ,请你找到 s 中两个 不相交回文子序列 ,使得它们长度的 乘积最大 。 两个子序列在原字符串中如果没有任何相同下标的字符,则它们是 不相交 的。
Michael阿明
2022/01/07
4150
LeetCode 2002. 两个回文子序列长度的最大乘积(状态压缩+枚举状态子集+预处理)
【每日leetcode】36.存在重复元素
如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。
一条coding
2021/09/15
2540
LeetCode-152-乘积最大子数组
给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。
benym
2022/07/14
2770
【每日leetcode】12.找到所有数组中消失的数字
给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。
一条coding
2021/08/12
1K0
【每日leetcode】12.找到所有数组中消失的数字
【每日leetcode】47.和为K的子数组
给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。
一条coding
2021/09/15
5150
LeetCode刷题DAY 20:乘积最大子数组
给定一个整数数组 nums ,找到一个具有最大乘积的连续子数组(子数组最少包含一个元素),返回其最大乘积。如输入[-2,1,-3]返回1。
三猫
2020/05/26
6850
推荐阅读
相关推荐
​LeetCode刷题实战152:乘积最大子数组
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验