当前位置: 首页 > 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.lryc.cn/news/462619.html

相关文章:

  • 机器学习拟合过程
  • 如何快速部署一套智能化openGauss测试环境
  • 【设计模式】深入理解Python中的原型设计模式
  • Django CORS配置方案
  • 2024年开放式耳机哪个牌子好?推荐最好的顶级开放式耳机品牌
  • 零基础读懂Stable Diffusion!
  • Hash Join 和 Index Join工作原理和性能差异
  • Apifox简介及使用
  • 十、IPD 实施细节(产品设计与开发管理)
  • MySQL-13.DQL-聚合函数
  • 为什么跟别人学习如何证明定理要远比使用定理更有意义
  • Qt在Win,Mac和Linux的开机自启设置
  • spring boot热部署
  • 网关与蓝牙网关有什么不同之处?
  • JAVA计算双十一多产品实付款优惠券的省钱方案
  • 零售行业的数字化营销转型之路
  • js的for in 和 for of的详解
  • 前端工具函数库
  • Java程序设计:Spring boot(4)——Freemarker Thymeleaf视图技术集成
  • JavaScript 第19章:Web Storage
  • [山河2024] week2
  • 无限可能LangChain——开启大模型世界
  • URL路径以及Tomcat本身引入的jar包会导致的 SpringMVC项目 404问题、Tomcat调试日志的开启及总结
  • 如何引起Java中的System.in.read()函数的异常
  • 深入理解Flutter鸿蒙next版本 中的Widget继承:使用extends获取数据与父类约束
  • Loss:Focal Loss for Dense Object Detection
  • Unity3D中Excel表格的数据处理模块详解
  • 【python】OpenCV—Fun Mirrors
  • QT IEEE754 16进制浮点数据转成10进制
  • 无人机+视频推流直播EasyCVR视频汇聚/EasyDSS平台在森林防护巡检中的解决方案