题目链接:3194. 最小元素和最大元素的最小平均值(简单)

算法原理:

👉对应LeetCode题解

解法:排序+对撞双指针

击败9.52%

时间复杂度O(Nlogn)

先排序,然后设置对撞双指针逐层判断取二者和的最小值,在返回的时候统一÷2即可

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;
    }
}

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐