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

【LeetCode453.最小操作次数使数组元素相等】

题目链接

453. 最小操作次数使数组元素相等 - 力扣(LeetCode)

实现思路

借鉴了一下大佬的思路(453. 最小操作次数使数组元素相等 - 力扣(LeetCode)),然后基于自己原本的暴力解法来理解题目。

  • 最开始没看数据范围,直接模拟,每次对当前最小的n-1个数自增。
  • 但是,这里可以发现一个思想,就是每次一定会对最初最小的那个数做自增操作。
  • 现在,假设最终每个元素都变为t,操作次数为ans。那么(t*n - sum)/(n - 1) = ans.
  • 由于每次都会对最初最小的那个数mn进行自增操作,因此mn + ans = t.

代码实现

class Solution {
public:int minMoves(vector<int>& nums) {// 1.一个直觉的想法,贪心,每次肯定是对最小的n-1个数进行加1,但是这么做时间复杂度很高// int n = nums.size();// int cnt = 0;// while (true) {//     int flag = 1;//     for (int i = 1; i < n; i++) {//         if (nums[i] != nums[i - 1]) {//             flag = 0;//             break;//         }//     }//     if (flag) return cnt;//     sort(nums.begin(), nums.end());//     for (int i = 0; i < n - 1; i++) {//         nums[i]++;//     }//     cnt++;// }// return -1;// 2.数学法// 假设最终每个元素是t,操作次数是ans// 那么 (t * n - sum) / (n - 1) = ans// 并且,由上面贪心的想法,也可以知道,数组中最小的元素,每次都要参与+1操作// 那么 min + ans = t// 联立 ans = sum - min * nint sum = 0;int n = nums.size();int mn = nums[0];for (int i = 0; i < n; i++) {sum += nums[i];mn = min(mn, nums[i]);}return sum - mn * n;}
};

http://www.xdnf.cn/news/15270.html

相关文章:

  • 深入解析C#接口实现的两种核心技术:派生继承 vs 显式实现
  • 论文阅读:HybridTrack: A Hybrid Approach for Robust Multi-Object Tracking
  • 前端开发中的资源缓存详解
  • 面试现场:奇哥扮猪吃老虎,RocketMQ高级原理吊打面试官
  • Spring Ai Alibaba Gateway 实现存量应用转 MCP 工具
  • AI领域的黄埔军校:OpenAI是新一代的PayPal Mafia,门生故吏遍天下
  • 浅谈 Python 中的 yield——生成器对象与函数调用的区别
  • 力扣 hot100 Day42
  • 若依前后端分离Vue3版本接入阿里云OSS
  • 20250712-1-Kubernetes 监控与日志管理-K8s日志管理与维护_笔记
  • Softmax回归(多类逻辑回归)原理及完整代码示例实现
  • 一个基于数据库的分布式锁:乐观与悲观实现
  • 贪心算法题解——跳跃游戏【LeetCode】
  • Windows 用户账户控制(UAC)绕过漏洞
  • python学习笔记【1】对字符串的处理
  • 《Java Web程序设计》实验报告六 JSP+JDBC+MySQL实现登录注册
  • [vroom] 启发式算法(路径评估) | 局部搜索优化引擎 | 解决方案输出解析
  • 自助KTV选址指南与优化策略
  • 系统分析师-计算机系统-输入输出系统
  • 十三、K8s自定义资源Operator
  • 仅27M参数!SamOutVX轻量级语言模型刷新认知,小身材也有大智慧
  • 2025.7.12总结
  • Vue 项目打包部署还存在问题?你知道怎么做吧?
  • JVM回收
  • 内部类 示例
  • 【java安全】springBoot配置文件属性名自定义及属性值加密
  • 【6.1.0 漫画数据库技术选型】
  • 建造者模式(Builder)
  • 【Datawhale AI 夏令营】 用AI做带货视频评论分析(二)
  • 微服务环境下的灰度发布与金丝雀发布实战经验分享