B.双指针——3194. 最小元素和最大元素的最小平均值

题目链接: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;
    }
}
相关推荐
淡海水19 分钟前
07-04-并发-ConcurrentBag-T-工作窃取WorkStealing算法
开发语言·算法·c#·bag·concurrent·workstealing
leobertlan38 分钟前
好玩系列:训练一个神经网络模型指导小孩玩游戏2-大局观教练
算法
CS_Zero1 小时前
C语言sizeof是函数吗?
c语言·开发语言
Tisfy1 小时前
LeetCode 3876.构造奇偶一致的数组 II:三种情况分类讨论(其实还是脑筋急转弯)
算法·leetcode·题解·脑筋急转弯
-今昭-2 小时前
《V2V 迁移实战:将 VMware 虚拟机转为 OpenStack 可用 Glance qcow2 镜像》
开发语言·python
乐迪信息2 小时前
智慧港口船舶AI算法实现在线状态监测
大数据·人工智能·深度学习·算法·计算机视觉
zww89491113 小时前
匿名树洞系统开发实战:从需求分析到部署指南
java·eclipse
kiracrimson3 小时前
从缓存的角度看链表与线性表的差异
数据结构·链表·缓存
RisunJan3 小时前
后端高频面试题与解答
面试·职场和发展
黑马程序员毕设4 小时前
基于Java的医院药品管理系统的优化设计与实现
java·开发语言·spring boot·小程序·架构·课程设计·毕设