leetcode.3194.最小元素和最大元素的最小平均值

 #简单

你有一个初始为空的浮点数数组 averages。另给你一个包含 n 个整数的数组 nums,其中 n 为偶数。

你需要重复以下步骤 n / 2 次:

  • 从 nums 中移除 最小 的元素 minElement 和 最大 的元素 maxElement
  • 将 (minElement + maxElement) / 2 加入到 averages 中。

返回 averages 中的 最小 元素。

 

提示:

  • 2 <= n == nums.length <= 50
  • n 为偶数。
  • 1 <= nums[i] <= 50

AC代码

class Solution {
public:
    double minimumAverage(vector<int>& nums) {
        int N=nums.size();
        double res=110.;
        sort(nums.begin(),nums.end());
        for(int i=0;i<N/2;i++)
        {
            double temp=nums[i]+nums[N-i-1];
            temp/=2.0;
            if(temp<res)res=temp;
        }
        return res;
    }
};
class Solution {
public:
    double minimumAverage(vector<int>& nums) {
        sort(nums.begin(), nums.end());
        int n = nums.size();
        double res = numeric_limits<double>::max();
        for (int i = 0; i < n / 2; i++) {
            res = min(res, (nums[i] + nums[n - 1 - i]) / 2.0);
        }
        return res;
    }
};

作者:力扣官方题解
链接:https://leetcode.cn/problems/minimum-average-of-smallest-and-largest-elements/solutions/2943777/zui-xiao-yuan-su-he-zui-da-yuan-su-de-zu-2kab/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  double res = numeric_limits<double>::max();

 std::numeric_limits<T>::max()——其中max()可替换为min()及lowest();T表示数据类型;

std::numeric_limits<T>::max()——返回数据类型T的最大值;

std::numeric_limits<T>::min()——返回数据类型T的"最小正数";std::numeric_limits<T>::lowest()——返回数据类型T的最小值(为负数或0);

 引用链接

上一篇:装饰器模式知识分享:Android (Kotlin) 与 iOS (Swift) 实现


下一篇:华三服务器R4900 G5在图形界面使用PMC阵列卡(P460-B4)创建RAID,并安装系统(中文教程)