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

【力扣热题100】3194. 最小元素和最大元素的最小平均值【Java】

 题目:3194.最小元素和最大元素的最小平均值

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

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

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

返回 averages 中的 最小 元素。

 解题思路

有两种思路
第一种:数组转为List ,用List的函数进行排序,再计算平均值,取最小值;
第二种:直接进行数组排序,后续一样,计算平均值,取最小值。

解题过程

第一种:

1、先判断数组的长度、是否为2的倍数,或者数组长度恰好为2,则直接返回结果。

2、利用Arrays.sort方法给nums排序。

3、计算平均值,获取最小平均值。

class Solution {public double minimumAverage(int[] nums) {if (nums.length < 2 || nums.length % 2 != 0) {return 0;}if (nums.length == 2) {return (double) (nums[0] + nums[1]) / 2;}int n = nums.length;Arrays.sort(nums);double min = (double) (nums[0] + nums[n - 1]) / 2;for (int p = 1; p < n / 2; p++) {double temp = (double) (nums[p] + nums[n - p - 1]) / 2;if (min > temp) {min = temp;}}return min;}
}

第二种:
1、先判断数组的长度、是否为2的倍数,或者数组长度恰好为2,则直接返回结果。
2、进行排序,排序方法选择的冒泡排序。
3、循环计算排序的数据,获得最小平均值返回。

class Solution {public double minimumAverage(int[] nums) {if (nums.length < 2) {return 0;}if (nums.length == 2) {return (double) (nums[0] + nums[1]) / 2;}int n = nums.length;for (int i = 0; i < n - 1; i++) {for (int j = 0; j < n - i - 1; j++) {if (nums[j] > nums[j + 1]) {int temp = nums[j];nums[j] = nums[j + 1];nums[j + 1] = temp;}}}double min= (double)(nums[0]+nums[n-1])/2;for ( int p=1; p<n/2 ; p++ ) {double temp = (double) (nums[p]+nums[n-p-1])/2;if(min>temp) {min =temp;}}return  min;}
}


http://www.mrgr.cn/news/52432.html

相关文章:

  • 文心一言 VS 讯飞星火 VS chatgpt (371)-- 算法导论24.4 3题
  • 6CXX:UICC告诉终端数据长度
  • 【Python爬虫】看电影还在用VIP?一个python代码让你实现电影自由!附源码
  • 跟李沐学AI—pytorch版本锚框代码解析
  • 解读 Java 经典巨著《Effective Java》90条编程法则,第5条:优先考虑依赖注入来引用资源
  • esxi配置磁盘直通虚拟机
  • [每日一练]利用apply函数和lambda函数实现数据的聚合
  • C++ IO多路复用 epoll模型
  • Qml-Item的构造和显示顺序
  • RISC-V笔记——显式同步
  • [openwrt-21.02]openwrt-21.02 升级nat46软件包操作说明
  • 链式法则 反向传播
  • 牵手App红娘来助力,打造线上交友“好管家”
  • JDK、JRE、JVM相关知识点
  • 【IC设计】复旦微行业分析
  • 再见了 印象笔记!推荐一个非常好用的开源笔记系统,8.6k Start(带私活源码)
  • HashMap常见面试题(超全面):实现原理、扩容机制、链表何时升级为红黑树、死循环
  • 028 elasticsearch索引管理-ElasticsearchRestTemplate
  • 七、【智能体】扣子人设:智能体背后的关键设计,你真的了解吗?
  • 纯css实现瀑布流! 附源码!!!