当前位置: 首页 > article >正文

力扣3194.最小元素和最大元素的平均最小值

你有一个初始为空的浮点数数组 averages。另给你一个包含 n 个整数的数组 nums,其中 n 为偶数。

你需要重复以下步骤 n / 2 次:

  • 从 nums 中移除 最小 的元素 minElement 和 最大 的元素 maxElement
  • 将 (minElement + maxElement) / 2 加入到 averages 中。

返回 averages 中的 最小 元素。

示例 1:

输入: nums = [7,8,3,4,15,13,4,1]

输出: 5.5

解释:

步骤numsaverages
0[7,8,3,4,15,13,4,1][]
1[7,8,3,4,13,4][8]
2[7,8,4,4][8,8]
3[7,4][8,8,6]
4[][8,8,6,5.5]

返回 averages 中最小的元素,即 5.5。

示例 2:

输入: nums = [1,9,8,3,10,5]

输出: 5.5

解释:

步骤numsaverages
0[1,9,8,3,10,5][]
1[9,8,3,5][5.5]
2[8,5][5.5,6]
3[][5.5,6,6.5]

示例 3:

输入: nums = [1,2,3,7,8,9]

输出: 5.0

解释:

步骤numsaverages
0[1,2,3,7,8,9][]
1[2,3,7,8][5]
2[3,7][5,5]
3[][5,5,5]

提示:

  • 2 <= n == nums.length <= 50
  • n 为偶数。
  • 1 <= nums[i] <= 50

思路:先排序,ans = min[nums[i]+nums[n-1-1]/2 i从0到n],i=0,1,2……n

python 

class Solution:
    def minimumAverage(self, nums: List[int]) -> float:
        nums.sort()
        return min(nums[i]+nums[-i-1] for i in range(len(nums)//2) )/2

java

class Solution {
    public double minimumAverage(int[] nums) {
        Arrays.sort(nums);       //将数组按升序排列
        int n = nums.length;
        double res = Double.MAX_VALUE;     //设定res为一个很大的值
        for (int i = 0; i < n / 2; i++) {
            res = Math.min(res, (nums[i] + nums[n - 1 - i]) / 2.0);
        }
        return res;
    }
}


http://www.kler.cn/a/350285.html

相关文章:

  • python进程池、线程池
  • 游戏AI,让AI 玩游戏有什么作用?
  • Git处理冲突详解
  • nginx作为下载服务器配置
  • 集合帖:前缀和及差分模板题 ← “洛谷 P5638:光骓者的荣耀” + “洛谷 P3397:地毯”
  • 【LeetCode100】--- 寻找重复数
  • 提升效率的秘密武器:如何选择合适的编程工具
  • STM32外设应用全解析
  • 【Unity】Unity中接入Admob聚合广告平台,可通过中介接入 AppLovin,Unity Ads,Meta等渠道的广告
  • 快速理解AUTOSAR CP的软件架构层次以及各层的作用
  • 第三弹:探索网络传输中的TFTP、UDP广播与多播技术
  • 打印杨辉三角形
  • 用Cursor开发了一个图片分割器
  • 观察者模式和发布-订阅模式的区别
  • 汽车结构设计外覆盖件抗凹分析的意义和分类
  • HarmonyOS Next模拟器异常问题及解决方法
  • 信息和介质的辩证
  • 智能化企业新人培训:AI助理如何加速新员融入与成长
  • 遥感图像处理又上大分!加个多模态,一篇A会到手~
  • 洛谷P1484.种树
  • 【Linux】基本认知全套入门
  • docker启动的rabbitmq如何启动其SSL功能
  • 嵌入式中数据库sqlit3基本使用方法与现象
  • 十、结构型(外观模式)
  • Gin框架操作指南02:JSON渲染
  • 利用 Llama 3.1模型 + Dify开源LLM应用开发平台,在你的Windows环境中搭建一套AI工作流