leetcode 453. 最小移动次数使数组元素相等

[VisionPro] CogPMAlignTool 工具详解 [VisionPro] [CogPMAlignTool] [模板匹配] 阅读详情

先按照题目意思,根据题目要求的步骤,自己写了一个小程序,这样做肯定会超时,对总结规律,很有帮助。

小程序如下:(在第6个用例的时候,果然超时了)

class Solution {
public:
    int minMoves(vector<int>& nums) {
        long len = nums.size();
        if(len == 1)
            return 0;
        int cnt = 0, diff = 1;
        while(diff){
            diff = 0;
            for(int i = 1; i < len; i++)
                diff += nums[i] - nums[i-1];
            if(!diff) break;
            int max_num = 0, index = 0;
            for(int i = 0 ; i < len; i++)
                if(nums[i] > max_num){
                    max_num = nums[i];
                    index = i;
                }
            for(int i = 0 ; i < len; i++)
                if(i != index)
                    nums[i]++;
            cnt++;
        }
        return cnt;
    }

};

通过总结规律,发现答案其实是:假如数组中最小值为x, 其他元素减去x 的差的和就是答案。

步骤:

1、先找到最小值

2、计算其他元素减去最小值的差的和;

算法复杂度为:o(n)

前面几行是改变c++的输入输出,可以加速输入输出效率,减少的时间还是客观的,可以打败100%的人。

static auto x = []()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    return 0;
}();
class Solution {
public:
    int minMoves(vector<int>& nums) {
        long len = nums.size();
        if(len == 1)
            return 0;
        int cnt = 0, min_num = INT_MAX;
        for(int i = 0; i < len; i++)
            min_num = min(min_num, nums[i]);
        for(int i = 0; i < len; i++)
            if(min_num != nums[i])
                cnt += nums[i] - min_num;
        return cnt;
    }

};

最终运行时间:16ms,小编看见这个题有人还用了排序,就是处理最小值的时候,排序时间复杂度为O(nlong(n)),肯定没有一次遍历O(n)速度快,然后看结果确实是这样。



基于Python的二手奢侈品电商平台商品保值率数据爬取与分析 本文旨在探讨如何利用Python网络爬虫技术获取二手奢侈品电商平台商品数据,并通过数据分析研究奢侈品的保值率特性。研究将使用最新的爬虫技术(包括Playwright、异步处理和数据清洗技术)来高效获取数据,并利用Pandas、Matplotlib等数据分析库进行深入的数据可视化分析。本文详细介绍了爬虫的设计思路、实现过程以及数据分析方法,为奢侈品投资和消费提供数据参考。关键词:Python爬虫、奢侈品保值率、数据分析、Playwright、异步处理。 阅读详情

相关推荐

人工智能,不止于模型:四步实现完整工作流

工程师越来越多地致力于将人工智能 (AI) 集成到自己的项目和应用中,同时不断着力提升自己的 AI 技能。面对 AI 问题,工程师首先要了解什么是 AI,以及如何将它纳入当前工作流,这看似简单,实则未必容易。在 Google 中搜索“什么是 AI?”会得到数百万条结果,包括不同程度的技术和相关信息。那么,对工程师而言,AI 意味着什么?人们对 AI 的关注主要集中在 AI 模型上,受此影响,工程师会迅速投入 AI 建模的研究。

r1832644594的博客 2814

【leetcode系列】【算法】【简单】最小移动次数使数组元素相等(暴力法、排序、动态规划DP、数学法四方法求解)

题目: 题目链接:https://leetcode-cn.com/problems/minimum-moves-to-equal-array-elements/ 解题思路: 方法一:暴力法(时间O(),空间O(1)) 每次都计算所有数字移动后是否全部相等,移动次数为数组中的最大元素max减去最小元素min,是本次的移动步数和对非最大值的增加值 重复此步骤,直到所有元素值相同,...

songyuwen0808的博客 3892

拆解博世、大陆的EMB方案:自增力机构如何省下83%的能耗?

本文深度解析了博世和大陆的电子机械制动(EMB)技术,重点探讨了自增力机构如何实现83%的能耗节省。通过对比电机直驱型和自增力型EMB的技术参数,揭示了自增力机构在能量优化和系统集成方面的创新优势,为汽车电动化和智能化提供了关键技术支持。

weixin_42665725的博客 392

leetcode_1: 最少移动次数问题

453:最小移动次数使数组元素相等 题目描述: 给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数。每次移动可以使 n - 1 个元素增加 1。 示例: 输入: [1,2,3] 输出: 3 解释: 只需要3次移动(注意每次移动只会增加两个元素的值): [1,2,3] => [2,3,3] => [3,4,3] => [4,4,4] 思路: n-1个元素同...

陶将的博客 4156

图形学常见概念小结

前言:本文记录《unity shader入门精要》和openGL相关学习过程中一些学习要点; 文章目录PBR流程渲染管线细分着色器的底层实现,应用原理常见的色调映射算法openGl和Direct X的区别PBR流程和URP渲染管线Camera loop(剔除)MVP矩阵变换光线追踪前向渲染和延迟渲染shader和材质的区别bloom原理后处理的理解高斯模糊实现原理图像处理中的边缘检测算子 PBR流程 小结:一套基于自然界微平面理论、能量守恒、菲涅尔反射、线性空间等的科学理论所实现的基于物理的渲染系统,包含一

小谁的博客 1163

EC20模块实战:5步搞定MQTT连接阿里云IoT(附常见错误排查)

本文详细介绍了使用EC20 4G模块通过AT指令连接阿里云IoT平台的完整实战流程。文章以智能农业项目为背景,从硬件接线、网络注册、PDP激活,到MQTT连接配置、一型一密动态注册及数据收发,提供了清晰的5步操作指南,并重点附上了常见错误排查方法,帮助开发者快速实现稳定可靠的物联网设备上云。

weixin_29209801的博客 196

【Leetcode】453. 最小移动次数使数组元素相等

QUESTION easy 题目描述 给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数。每次移动可以使 n - 1 个元素增加 1。 示例: 输入: [1,2,3] 输出: 3 解释: 只需要3次移动(注意每次移动会增加两个元素的值): [1,2,3] => [2,3,3] => [3,4,3] => [4,4,4] 说明 无 SOL...

zzy0006的博客 550

Oracle 从入门到精通系列(入门篇)1.1-Oracle 数据库发展史

Oracle 从入门到精通系列(入门篇)1.1-Oracle 数据库发展史

LuciferLiu_DBA 2190

算法题Day2-最小移动次数

给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数。每次移动可以使 n - 1 个元素增加 1。 示例: 输入:[1,2,3] 输出:3 解释:只需要3次移动(注意每次移动会增加两个元素的值): [1,2,3] => [2,3,3] => [3,4,3] => [4,4,4] 自己的思考: 一、 刚开始哈,我也没管太多(增加1)。 思路是这样...

凭澜偏偏 1529

上万条对话白分析了?智能客服质检避坑指南:90%团队倒在这些误区

当前客服质检普遍存在投入产出失衡的现象,根源在于十大误区:过度关注单点技术指标而忽视端到端解决能力、僵化的话术模板限制AI应变、数据孤岛阻碍知识进化、盲目追求拟人化牺牲效率、传统整改机制跟不上机器速度等。破局需重构质检体系,包括建立决策树质检法、设计复杂问题测试集、构建实时数据闭环、重置AI专属评价指标、实施分钟级热修复机制等。关键在于将质检从被动纠错升级为主动赋能,通过根因分析、场景化反馈、标准化评分和数据驱动优化,打造"问题诊断-改进-验证"

2202_75469062的博客 1541

Unity中的Timeline

Timeline与动画系统类似,但是它可以针对多个物体做出一系列多个动画,它可以创建多个轨道,对象激活与隐藏轨道,动画轨道,声音轨道等。每个轨道都可以单独编辑,轨道内的不同资源可以排列并且融合

L的博客 1万+

LeetCode.453. 最小移动次数使数组元素相等

                从0开始刷力扣,第十一天。                         &n

226

玩转 InternVL3.5 轻量级实战:从部署到优化的全记录

玩转 InternVL3.5 轻量级实战:从部署到优化的全记录

jacke121的专栏 626

leetcode-453. 最小移动次数使数组元素相等 力扣 Java版本

给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数。每次移动可以使 n - 1 个元素增加 1。 示例: 输入: [1,2,3] 输出: 3 解释: 只需要3次移动(注意每次移动会增加两个元素的值): [1,2,3] => [2,3,3] => [3,4,3] => [4,4,4] 本题思路;看移动次数,并且在int型,还有n个数...

mysql表名与列名单引号‘’引发的错误 181

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

力扣(LeetCode)453. 最小移动次数使数组元素相等

给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数。每次移动可以使 n - 1 个元素增加 1。 示例: 输入: [1,2,3] 输出: 3 解释: 只需要3次移动(注意每次移动会增加两个元素的值): [1,2,3] => [2,3,3] => [3,4,3] => [4,4,4] 思路 尝试过暴力法 ,结果超时了 找规律 移动次数等于每个数减去最小数之和。...

weixin_30436101的博客 218

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

leetcode 453 最小移动次数使数组元素相等 java版

文章目录题目代码 题目 给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数。每次移动可以使 n - 1 个元素增加 1。 示例: 输入: [1,2,3] 输出: 3 解释: 只需要3次移动(注意每次移动会增加两个元素的值): [1,2,3] => [2,3,3] => [3,4,3] => [4,4,4] 代码 /* * @lc app=lee...

lingle1的博客 458

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Leetcode 453. 最小移动次数使数组元素相等 C++

Leetcode 453. 最小移动次数使数组元素相等 题目 给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数。每次移动将会使 n - 1 个元素增加 1。 示例: 输入: [1,2,3] 输出: 3 解释: 只需要3次移动(注意每次移动会增加两个元素的值): [1,2,3] => [2,3,3] => [3,4,3] => [4,4,4] 题解 反向思维, 对n-1个元素增加1,使最终元素相同。反向思考一下,我们不妨让1个元素-1,使最终元素相

weixin_43750513的博客 430

Leetcode 453. 最小移动次数使数组元素相等

Leetcode 453. 最小移动次数使数组元素相等 最小移动次数使数组元素相等 给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数。每次移动将会使 n - 1 个元素增加 1。 示例: 输入: [1,2,3] 输出: 3 解释: 只需要3次移动(注意每次移动会增加两个元素的值): [1,2,3] => [2,3,3] => [3,4,3] => [4,4,4] class Solution { public int minMoves(int

EIUC_Thread的博客 171

Leetcode453. 最小移动次数使数组元素相等

Leetcode453. 最小移动次数使数组元素相等 题目: 给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数。每次移动可以使 n - 1 个元素增加 1。 示例: 输入: [1,2,3] 输出: 3 解释: 只需要3次移动(注意每次移动会增加两个元素的值): [1,2,3] => [2,3,3] => [3,4,3] => [4,4,4] ......

会流泪de鱼的博客 346

LeetCode 453. 最小移动次数使数组元素相等

目录结构 1.题目 2.题解 1.题目 给定一个长度为n的非空整数数组,找到让数组所有元素相等的最小移动次数。每次移动将会使n- 1 个元素增加 1。 示例: 输入: [1,2,3] 输出: 3 解释: 只需要3次移动(注意每次移动会增加两个元素的值): [1,2,3] => [2,3,3] => [3,4,3] => [4,4,4] 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/mini...

HarvestWu的博客 295

Leetcode 453. 最小移动次数使数组元素相等 (“相对大小”)

Leetcode 453. 最小移动次数使数组元素相等 【题意】 给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数。每次移动将会使 n - 1 个元素增加 1。 【示例】 输入: [1,2,3] 输出: 3 【解释】 只需要3次移动(注意每次移动会增加两个元素的值):[1,2,3] => [2,3,3] => [3,4,3] => [4,4,4] 【解法一】O (n) /* 对于 1 2 4 6,从小的考虑起,先将 1 增加至和 2 一样,即 2 2 5

优快云Wudanna的博客 318

Java实现 LeetCode 453 最小移动次数使数组元素相等

453. 最小移动次数使数组元素相等 给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数。每次移动可以使 n - 1 个元素增加 1。 示例: 输入: [1,2,3] 输出: 3 解释: 只需要3次移动(注意每次移动会增加两个元素的值): [1,2,3] => [2,3,3] => [3,4,3] => [4,4,4] class Solutio...

南 墙 1万+

[LeetCode] 453. 最小移动次数使数组元素相等

1 题目描述 给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数。每次移动可以使 n - 1 个元素增加 1。 示例: 输入: [1,2,3] 输出: 3 解释: 只需要3次移动(注意每次移动会增加两个元素的值): [1,2,3] => [2,3,3] => [3,4,3] => [4,4,4] 来源:力扣(LeetCode) 链接:http...

努力变得不菜的菜鸡的博客 695

Leetcode | 453. 最小移动次数使数组元素相等

Leetcode | 453. 最小移动次数使数组元素相等 给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数。每次移动可以使 n - 1 个元素增加 1 示例 输入: [1,2,3] 输出: 3 解释: 只需要3次移动(注意每次移动会增加两个元素的值): [1,2,3] =&gt; [2,3,3] ...

Gary___的博客 1046

LeetCode—— 453 最小移动次数使数组元素相等

问题描述 给定一个长度为n的非空整数数组,找到让数组所有元素相等的最小移动次数。每次移动可以使n- 1 个元素增加 1。 示例: 输入: [1,2,3] 输出: 3 解释: 只需要3次移动(注意每次移动会增加两个元素的值): [1,2,3] => [2,3,3] => [3,4,3] => [4,4,4] 来源:力扣(LeetCode) 链接:h...

优快云的博客 196
上一篇: leetcode.447 回旋镖的数量
下一篇: leetcode 455. 分发饼干
Torch_Man
博客等级 码龄9年 6粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值