C++找出数组中元素最大值的乘积

2020-05-31  本文已影响0人  Murphy103

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

//这道题我用的暴力求解的方式,直接对vector数组进行排序,然后对最后的两个数字进行相乘

class Solution

{

public:

    int maxProduct(vector<int> &nums)

    {

        sort(nums.begin(), nums.end());

        int m = 1;

        for (int i = nums.size()-2; i < nums.size(); ++i)

        {

            m *= nums[i]-1;

        }

        return m;

    }

};

上一篇下一篇

猜你喜欢

热点阅读