#简单
你有一个初始为空的浮点数数组
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);
引用链接