Golang | Leetcode Golang题解之第462题最小操作次数使数组元素相等II

news/2024/10/22 14:27:22/

题目:

题解

func partition(a []int, l, r int) int {x := a[r]i := l - 1for j := l; j < r; j++ {if a[j] <= x {i++a[i], a[j] = a[j], a[i]}}a[i+1], a[r] = a[r], a[i+1]return i + 1
}func randomPartition(a []int, l, r int) int {i := rand.Intn(r-l+1) + la[i], a[r] = a[r], a[i]return partition(a, l, r)
}func quickSelect(a []int, l, r, index int) int {q := randomPartition(a, l, r)if q == index {return a[q]}if q < index {return quickSelect(a, q+1, r, index)}return quickSelect(a, l, q-1, index)
}func minMoves2(nums []int) (ans int) {rand.Seed(time.Now().UnixNano())x := quickSelect(nums, 0, len(nums)-1, len(nums)/2)for _, num := range nums {ans += abs(num - x)}return
}func abs(x int) int {if x < 0 {return -x}return x
}

http://www.ppmy.cn/news/1538980.html

相关文章

【进阶OpenCV】 (12)--人脸检测识别

文章目录 人脸识别一、获取分类器二、代码实现1. 图片预处理2. 加载人脸检测分类器3. 检测人脸4. 标注人脸 总结 人脸识别 要实现人脸识别首先要判断当前图像中是否出现了人脸&#xff0c;这就是人脸检测。只有检测到图像中出现了人脸&#xff0c;才能据此判断这个人到底是谁。…

QD1-P23 CSS 基础选择器

本节学习&#xff1a;CSS 基础选择器&#xff08;5种&#xff09; 本节视频 https://www.bilibili.com/video/BV1n64y1U7oj?p23 基础选择器是 CSS 中最常用的选择器类型&#xff0c;它们用于选择 HTML 文档中的元素。以下是基础选择器的列表以及它们的优先级&#xff08;权重…

Redis 列表(List)

Redis 列表(List) Redis 是一个开源的&#xff0c;内存中的数据结构存储系统&#xff0c;可以用作数据库、缓存和消息中介。它支持多种类型的数据结构&#xff0c;包括字符串、哈希、列表、集合、有序集合等。本文将重点介绍 Redis 中的列表&#xff08;List&#xff09;数据结…

docker详解介绍+基础操作 (四)容器镜像

一.镜像结构和原理 Docker 镜像是 Docker 技术的核心组成部分之一&#xff0c;它用于封装应用程序及其依赖项&#xff0c;以便在任何支持 Docker 的环境中运行。了解 Docker 镜像的结构和原理对于有效使用 Docker 至关重要。以下是对 Docker 镜像结构和原理的详细介绍。 Dock…

318页PPT5G智慧校园顶层设计方案

2019年&#xff0c;中共中央、国务院印发的《中国教育现代化2035》提出从构建更为完善信息化基础环境、配置学校数字教学资源、建立学校信息化系统运行维护长效机制、统筹建设一体化智能化教学和管理与服务平台等方面建设智能化校园。因此&#xff0c;未来随着信息通信技术的不…

盒子模型的简单运用

1.块内元素与行内元素 HTML_code <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</titl…

树莓派应用--AI项目实战篇来啦-12.OpenCV摄像头云台物体追踪

1. 介绍 本项目主要是实现OpenCV识别物体&#xff0c;找出中心位置&#xff0c;根据中心位置的偏离情况来修正二维云台&#xff0c;让物体的中心位置始终处于图像的中心位置&#xff0c;要保证追踪的流畅性&#xff0c;这里引入了 PID算法来抑制云台的抖动。 2. PID算法 在实际…

自然语言处理 (NLP) 的 5 个步骤

自然语言处理 (NLP) 的 5 个步骤 引言 如今&#xff0c;我们的世界在数字化连接方面达到了前所未有的水平。信息、见解和数据不断争夺我们的注意力&#xff0c;我们不可能全部消化。对于你的企业来说&#xff0c;挑战在于了解客户和潜在客户对你的产品和服务的看法&#xff0c;…