给你一个整数数组 nums,请你选择数组的两个不同下标 i 和 j,使 请你计算并返回该式的最大值。 来源:力扣(LeetCode) 8 ms 10.3 MB
1. 题目
(nums[i]-1)*(nums[j]-1)
取得最大值。示例 1: 输入: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: 输入:nums = [1,5,4,5] 输出:16 解释:选择下标 i=1 和 j=3(下标从 0 开始), 则可以获得最大值 (5-1)*(5-1) = 16 。 示例 3: 输入:nums = [3,7] 输出:12 提示: 2 <= nums.length <= 500 1 <= nums[i] <= 10^3
链接:https://leetcode-cn.com/problems/maximum-product-of-two-elements-in-an-array
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。2. 解题
class Solution { public: int maxProduct(vector<int>& nums) { sort(nums.begin(), nums.end()); int n = nums.size(); return (nums[n-1]-1)*(nums[n-2]-1); } };
class Solution { public: int maxProduct(vector<int>& nums) { int n = nums.size(), i, m1 = 0, m2 = 0; for(i = 0; i < n; ++i) { if(nums[i] >= m1) { m2 = m1; m1 = nums[i]; } else if(nums[i] > m2) m2 = nums[i]; } return (m1-1)*(m2-1); } };
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算