【LeetCode】每日一题 2024_10_16 最小元素和最大元素的最小平均值(排序、模拟)

devtools/2024/10/20 6:36:24/

前言

每天和你一起刷 LeetCode 每日一题~

LeetCode 启动!

题目:leetcode.cn/problems/minimum-average-of-smallest-and-largest-elements/description/?envType=daily-question&envId=2024-10-16" rel="nofollow">最小元素和最大元素的最小平均值

连续两天的简单题了,我有预感,明天的每日一题估计要来大的了

代码与解题思路

今天的题目算是标准的简单模拟题, 需要能力:懂语言的语法+细心读题即可。题目是这样描述的:

1、从 nums 中移除最小的元素 和 最大的元素。

2、将 (minElement + maxElement) / 2 加入到 averages 中。

3、返回 averages 中的最小元素。

解题思路:

问:如何找到最大元素?答:排序后找数组头尾即可。

问:如何返回 averages 中的最小元素。答:只需要返回一个最小元素,那直接用 ans 灵活维护一个当前的最小值直接返回即可。

func minimumAverage(nums []int) float64 {slices.Sort(nums)ans := math.MaxInti, j := 0, len(nums)-1for i < j {ans = min(ans, nums[i]+nums[j])i++j--}return float64(ans)/2
}

我这段代码用的是 i,j 作为头尾指针找到排序数组的最大最小值,其实也可以只用一个指针 i 来实现:

func minimumAverage(nums []int) float64 {slices.Sort(nums)ans := math.MaxIntfor i, n := 0, len(nums); i < n/2; i++ {ans = min(ans, nums[i]+nums[n-1-i])}return float64(ans) / 2
}

n - 1 代表的是尾指针,再 - i 就能和 i 一样往数组中间移动了。

每天进步一点点,我们明天不见不散~

可以和我刷一辈子的每日一题吗?
一题一题,积累起来就是一辈子。


http://www.ppmy.cn/devtools/127212.html

相关文章

【CSS in Depth 2 精译_050】7.3 CSS 响应式设计中的流式布局原则(Fluid layout)

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 【第七章 响应式设计】&#xff08;概述&#xff09; 7.1 移动端优先设计原则&#xff08;上篇&#xff09; 7.1.1 创建移动端菜单&#xff08;下篇&#xff09;7.1.2 给视口添加 meta 标签&#xf…

golang 基本数据类型

1. go语言的数据类型简介 golang的数据类型分为两大类&#xff0c;一类是基本数据类型和符合数据类型&#xff1b; 按照传递的内容分&#xff1a;传递本身数据和传递地址&#xff1b; golang和java很相似&#xff0c;都是值传递&#xff0c;不过分为传递的值和传递的地址&a…

CTFHUB技能树之HTTP协议——响应包源代码

开启靶场&#xff0c;打开链接&#xff1a; 是个贪吃蛇小游戏&#xff0c;看不出来有什么特别的地方 用burp抓包看看情况&#xff1a; 嗯&#xff1f;点击“开始”没有抓取到报文&#xff0c;先看看网页源代码是什么情况 居然直接给出flag了&#xff0c;不知道这题的意义何在 …

输入输出与运算符

1.输入函数 &#xff08;1&#xff09;scanf()函数 函数原型&#xff1a; printf()语句中的使用的控制字符串及其语法同样适用于scanf()语句 返回值&#xff1a;输入成功的参数数量&#xff0c;否则返回0 scanf()使用非打印字符来判断输入数据是什么时候开始和结束的 可以…

【Unity】【游戏开发】游戏引擎是如何模拟世界的

【核心感悟】 游戏引擎通过两个维度的合并来模拟这个时间。 一个维度叫物理模型。 一个维度叫视觉模型。 对于物理模型&#xff0c;我们需要用物理引擎给予行为。 对于视觉模型&#xff0c;我们需要用动画去给予行为。 物理模型是真实机制&#xff0c;视觉模型是艺术表现&…

PetaLinux工程的常用命令——petalinux-config

petalinux-config&#xff1a;使用菜单配置项目或指定组件。 注&#xff1a;有些命令我没用过&#xff0c;瞎翻译有可能会翻译错了。 用法: petalinux-config [options] {--component <COMPONENT> |--get-hw-description[SRC]} 可选参数: -h, --help 显示函数用法…

HL7协议简介及其在STM32上的解析实现

近期完成一个医疗相关的项目,其中包括了体征监测设备,该设备使用的通信协议便是HL7 V2.4 协议,在医疗信息化领域,HL7(Health Level Seven)协议扮演着至关重要的角色。它是一种国际标准,用于定义医疗机构间以及医疗设备与信息系统之间的数据交换格式和通信协议。HL7标准旨…

Go语言数据库操作深入讲解

go操作MySQL 使用第三方开源的mysql库: github.com/go-sql-driver/mysql (mysql驱动)github.com/jmoiron/sqlx (基于mysql驱动的封装) 命令行输入 &#xff1a; go get github.com/go-sql-driver/mysqlgo get github.com/jmoiron/sqlx Insert操作 登录后复制 // 连接Mysql data…