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

力扣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.mrgr.cn/news/51720.html

相关文章:

  • mysql语句简单的使用
  • Invoke 和 InvokeRequired以及他们两个的区别
  • Linux基础命令系列一小白必掌握
  • 小O睡眠省电调研
  • 代理商培训新策略:利用内部知识库提升培训效果
  • FreeRTOS:信号量
  • 神仙级网络安全入门教程(非常详细),从零基础入门到精通,从看这篇开始!
  • 05 线性结构——队列(特性、入队与出队、顺序队列和链式队列、顺序队列的“假溢出”问题及解决方案、相关功能的定义与代码实现)
  • 集合框架10:泛型接口、泛型方法
  • gbn,sr和tcp的区别
  • EDM营销平台如何通过邮箱追踪提升效果?
  • 9.22前缀和
  • blender分离含有多个动作的模型,并导出含有材质的fbx模型
  • 条款3: 理解decltype
  • 鸿蒙跨设备协同开发05——跨设备拖拽
  • 2.4 STM32启动过程
  • 单片机输出方波
  • 数据结构——八大排序(下)
  • Python进阶知识1
  • Excel 对数据进行脱敏