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;
    }
}
相关推荐
宵时待雨2 分钟前
优选算法专题9:哈希表
数据结构·算法·散列表
gwf21612 分钟前
磨损均衡算法(Wear Leveling)——SSD如何让每块闪存“公平退休“?
运维·数据库·人工智能·python·嵌入式硬件·算法·智能硬件
码智社14 分钟前
Java实现RSA密钥生成、加密解密、加签验签
java
wear工程师23 分钟前
ThreadLocal 在线程池里为什么会串数据:别只会答内存泄漏
java·后端
Iruoyaoxh23 分钟前
栈和队列~
java·开发语言
审小匠OpenCPAi27 分钟前
银行流水核查怎么自动化?单边匹配、双向勾稽与图聚类异常检测的工程对比
java·前端·人工智能·python·审计
noipp31 分钟前
推荐题目:洛谷 P6231 [JSOI2013] 公交系统
c语言·数据结构·c++·算法·游戏·洛谷·luogu
Hrain-AI31 分钟前
2026 企业 AI 编程智能体实战:Codex 与 Claude Code
开发语言·人工智能·kotlin
码上上班43 分钟前
docker课程
java·docker·容器
c238561 小时前
C/C++每日一练6
c语言·c++·算法