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;
    }
}
相关推荐
奋斗的小乌龟9 小时前
动态创建Agent02
java
吃好睡好便好9 小时前
用while循环语句求和
开发语言·学习·算法·matlab·信息可视化
ZFSS9 小时前
Localization Translate API 集成与使用指南
java·服务器·数据库·人工智能·mysql·ai编程
TechWayfarer9 小时前
查询IP所在地的3种方案:从API到离线库,风控场景怎么选?
开发语言·网络·python·网络协议·tcp/ip
摇滚侠9 小时前
Java 零基础全套教程,集合框架,笔记 153-163
java·开发语言·笔记
nannan12329 小时前
后端技术栈梳理
java
王璐WL9 小时前
【C语言入门级教学】函数的概念2
c语言·数据结构·算法
程序员榴莲10 小时前
Python 单例模式
开发语言·python·单例模式
不知名的忻10 小时前
B 树与 B+ 树:面试完全指南
b树·算法·面试·b+树
L、21810 小时前
CANN算子开发调试实战:从“Segmentation Fault“到定位根因的完整流程
java·开发语言