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 小时前
JAVA SpringAI+阿里云百炼应用开发
java·开发语言·阿里云
钱多多_qdd1 小时前
ListUtil#split和remove搭配使用的坑
java
碧蓝的水壶1 小时前
数据转换过程
java·开发语言·windows
2501_947575807 小时前
计算机毕业设计之jsp开山车行二手车交易系统
java·开发语言·hadoop·python·信息可视化·django·课程设计
骑士雄师8 小时前
java面试题 4:鉴权
java·开发语言
芝士爱知识a8 小时前
AI 模拟面试怎么做:智蛙公考智能体多轮对话 + 实时追问的工程实现
面试·职场和发展
古城小栈8 小时前
为啥说:训练用BF16,推理用FP16
人工智能·算法·机器学习
KaMeidebaby8 小时前
卡梅德生物技术快报|蛋白 N 端测序在重组贻贝融合蛋白表征中的应用,解决原核表达序列偏移工艺难题
前端·人工智能·物联网·算法·百度
时间的拾荒人9 小时前
C语言字符函数与字符串函数完全指南
c语言·开发语言
帅次9 小时前
Android 高级工程师面试:Java 基础知识 近1年高频追问 22 题
android·java·面试