题目链接:3194. 最小元素和最大元素的最小平均值(简单)
算法原理:
解法:排序+对撞双指针
击败9.52%
时间复杂度O(Nlogn)
先排序,然后设置对撞双指针逐层判断取二者和的最小值,在返回的时候统一÷2即可
Java代码:
java
class Solution {
public double minimumAverage(int[] nums) {
Arrays.sort(nums);
int n=nums.length;
int left=0,right=n-1;
double ret=0x3f3f3f3f;
while(left<right){
int tmp=nums[left]+nums[right];
ret=(double)tmp<ret?(double)tmp:ret;
left++;right--;
}
return ret/2.0;
}
}