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;
    }
}
相关推荐
東雪木1 天前
编程算法学习——栈与队列算法
学习·算法·排序算法
左左右右左右摇晃1 天前
Java笔记——包装类(自动拆装箱)
java·笔记·python
CSDN_Colinw1 天前
C++中的工厂方法模式
开发语言·c++·算法
森林里的程序猿猿1 天前
Java深入理解并发、线程、与等待通知机制(一)
java
liulilittle1 天前
范围随机算法实现
开发语言·c++·算法·lua·c·js
夜空下的星1 天前
springboot实现Minio大文件分片下载
java·spring boot·后端
乌索普-1 天前
基于vue2的简易购物车
开发语言·前端·javascript
走粥1 天前
使用indexOf查找对象结合Pinia持久化引发的问题
开发语言·前端·javascript
Huangxy__1 天前
接口的的的~
java
廋到被风吹走1 天前
【MySql】超时问题分析
java·数据库·mysql