LeetCode 每日一题 1464. 数组中两元素的最大乘积

    技术2022-07-10  129

    文章目录

    1. 题目2. 描述3. 思路4. 实现

    1. 题目

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

    2. 描述

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

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

    3. 思路

    将数组进行排序后,取最后的两元素进行相乘返回即可,主要进行排序操作,时间复杂度为 O ( n ∗ l o g n ) O(n*logn) O(nlogn).

    4. 实现

    public int maxProduct(int[] nums) { // 现将数组进行排序 Arrays.sort(nums); // 然后选取排序后数组的最后两个元素乘积 int size = nums.length; return (nums[size - 1] - 1) * (nums[size - 2] - 1); }

    Processed: 0.010, SQL: 9