晋城建设网站建筑学太烧钱了

张小明 2026/1/19 19:13:17
晋城建设网站,建筑学太烧钱了,更新网站的图片加不上水印,免费推广预期效果文章目录摘要描述题解答案题解代码分析为什么不是平均数#xff1f;中位数为什么是最优解#xff1f;为什么偶数个元素也没问题#xff1f;Swift 可运行 Demo 代码代码逐步解析示例测试及结果与实际场景结合时间复杂度空间复杂度总结摘要 这道题看起来像个“数学题”#…文章目录摘要描述题解答案题解代码分析为什么不是平均数中位数为什么是最优解为什么偶数个元素也没问题Swift 可运行 Demo 代码代码逐步解析示例测试及结果与实际场景结合时间复杂度空间复杂度总结摘要这道题看起来像个“数学题”但其实更准确地说它是一个非常典型的工程决策问题当你可以自由地调整每个元素目标是让整体成本最低时应该把大家“拉”到哪里很多人第一反应是“取平均数”但这道题偏偏不是。真正的答案其实和一个我们经常忽略、但非常重要的概念有关中位数。描述题目给你一个整数数组nums你可以做的操作非常简单每一次操作让某一个元素1或者-1你的目标只有一个用最少的操作次数让数组里的所有元素变得完全一样。注意几个隐含信息每次操作只影响一个元素每次只加 1 或减 1最终大家要“对齐”到同一个值数组长度最多 10 万值的范围很大题解答案这道题的结论非常明确而且值得你记住把所有元素调整到数组的中位数操作次数最少。具体做法就是对数组排序取中位数累加所有元素到中位数的绝对差题解代码分析为什么不是平均数我们先从直觉入手。很多人会想“让大家都变成平均数整体差距不是最小吗”但这里有一个坑平均数并不一定是整数而且即使是整数也不一定最优。举个简单的例子nums [1, 2, 10] 平均数 4.33如果你强行往 4 或 5 拉左右两边的代价是不对称的。中位数为什么是最优解这是这道题的核心。如果你把数组排好序a1 a2 ... an当你选择一个目标值x时总操作次数是|a1 - x| |a2 - x| ... |an - x|这个函数在数学上有一个非常重要的性质当 x 取中位数时上式取得最小值直观理解就是中位数左边的人往右拉中位数右边的人往左拉两边的“拉力”正好平衡这和“拉一群人站成一排站到最中间最省力”是一个道理。为什么偶数个元素也没问题如果数组长度是偶数比如[1, 2, 9, 10]中位数其实是一个区间[2, 9]你选2、3、…、9得到的最小操作次数是一样的。所以实现时直接选排序后n / 2位置的值即可。Swift 可运行 Demo 代码importFoundationclassSolution{funcminMoves2(_nums:[Int])-Int{letsortedNumsnums.sorted()letnsortedNums.countletmediansortedNums[n/2]varmoves0fornuminsortedNums{movesabs(num-median)}returnmoves}}代码逐步解析letsortedNumsnums.sorted()先排序这是找到中位数的前提。时间复杂度主要也花在这一步。letmediansortedNums[n/2]奇数长度正中间偶数长度取右中位数即可不需要纠结选哪一个只要是中位数区间内的值都行。movesabs(num-median)这一步非常直观每个元素到目标值的距离就是需要的操作次数示例测试及结果letsolutionSolution()print(solution.minMoves2([1,2,3]))// 2print(solution.minMoves2([1,10,2,9]))// 16print(solution.minMoves2([1,1,1]))// 0print(solution.minMoves2([1,1000000000]))// 999999999输出结果2 16 0 999999999和题目示例完全一致。与实际场景结合这道题在真实工程里其实非常常见只是你可能没意识到。几个典型场景负载均衡把请求量调整到一个“最省整体迁移成本”的点数据校准传感器读数对齐减少整体修正代价日志时间修正把时间戳统一到一个参考值费用对齐多人分摊成本时调整到“最公平、最少改动”的值这些问题本质上都是在一维数轴上找到一个点使得到所有点的总距离最小。答案几乎永远都是中位数。时间复杂度O(n log n)排序占主要时间后续遍历是 O(n)空间复杂度O(n)排序使用了额外数组空间Swift 的sorted()。如果需要极致优化可以用原地排序或快速选择算法。总结这道题非常适合用来建立一个重要直觉平均数解决的是“平方误差最小”中位数解决的是“绝对误差最小”。一旦你把这个区分记牢这道题基本就是秒解很多“看起来像数学题”的工程问题也会变得异常清晰
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

保险理财网站建设wordpress获取当前页面

第一章:Open-AutoGLM项目概述与源码初探Open-AutoGLM 是一个开源的自动化通用语言模型(GLM)推理框架,旨在通过轻量级架构实现高效的任务解析与模型调度。该项目由社区驱动开发,支持多后端集成、动态任务队列管理以及可…

张小明 2026/1/17 18:27:23 网站建设

怎么做网站优化排名网站返回404

GitHub Issue高效提问指南:解决PyTorch使用难题 在深度学习项目开发中,你是否曾遇到过这样的场景:一段代码在本地运行正常,但提交到GitHub后,维护者却回复“无法复现”?又或者你在尝试复现他人报告的Bug时&…

张小明 2026/1/17 18:27:22 网站建设

北京市教学名师项目建设网站网站建设 大公司排名

深入arm64-v8a调用约定:从寄存器到实战的完整指南你有没有在调试Android NDK崩溃时,面对GDB里一堆x0,x1,v0感到无从下手?或者写内联汇编时,不确定哪些寄存器能随便用、哪些必须保护?又或者好奇为什么一个简单的函数调用…

张小明 2026/1/17 18:27:23 网站建设

岳阳建设局网站怎么在微信建立公众号

COMSOL Multiphysics具有强大的多物理场全耦合仿真分析功能、高效的计算性能,可以保证数值仿真的高度精确,已被广泛应用于各个学科领域,近年来运用COMSOL来解决电化学实际工程问题也越来越普遍。 电化学仿真技术通过对电池微观行为进行研究&…

张小明 2026/1/17 18:27:27 网站建设

旅游网站设计的意义在百度平台如何做营销

解锁PC游戏手柄兼容性:虚拟控制器驱动终极指南 【免费下载链接】ViGEmBus 项目地址: https://gitcode.com/gh_mirrors/vig/ViGEmBus 你是否曾经遇到过这样的尴尬:满怀期待地连接新手柄到电脑,却发现游戏完全无法识别?或者…

张小明 2026/1/17 18:27:27 网站建设

高清网站建设的好处建站平台工具

3种实战场景下的Awesomplete主题切换解决方案 【免费下载链接】awesomplete Ultra lightweight, usable, beautiful autocomplete with zero dependencies. 项目地址: https://gitcode.com/gh_mirrors/aw/awesomplete Awesomplete是一款超轻量级、零依赖的自动完成JavaS…

张小明 2026/1/17 18:27:28 网站建设