文章目录

  • 1. 题目
  • 2. 解题

1. 题目

存在一个长度为 n 的数组 arr ,其中 arr[i] = (2 * i) + 1 ( 0 <= i < n )

一次操作中,你可以选出两个下标,记作 x 和 y ( 0 <= x, y < n )并使 arr[x] 减去 1 、arr[y] 加上 1 (即 arr[x] -=1 且 arr[y] += 1 )。

最终的目标是使数组中的所有元素都 相等 。题目测试用例将会 保证 :在执行若干步操作后,数组中的所有元素最终可以全部相等。

给你一个整数 n,即数组的长度。请你返回使数组 arr 中所有元素相等所需的 最小操作数

示例 1:
输入:n = 3
输出:2
解释:arr = [1, 3, 5]
第一次操作选出 x = 2 和 y = 0,使数组变为 [2, 3, 4]
第二次操作继续选出 x = 2 和 y = 0,数组将会变成 [3, 3, 3]示例 2:
输入:n = 6
输出:9提示:
1 <= n <= 10^4

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/minimum-operations-to-make-array-equal
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 都等于最中间的数就好了,剩余的数等差数列求和 (首项+末项)* 长度/2
class Solution {public:int minOperations(int n) {int an_1 = 2*(n-1)+1;int mid = (an_1+1)/2;if(n&1)return n/2*mid-(1+mid-2)/2*(n/2);return n/2*mid-(1+mid-1)/2*(n/2);}
};

4 ms 6 MB

或者

class Solution {public:int minOperations(int n) {return n*n/4;}
};

我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode 1551. 使数组中所有元素相等的最小操作数(等差数列)相关推荐

  1. leetcode 5488. 使数组中所有元素相等的最小操作数(C++)

    存在一个长度为 n 的数组 arr ,其中 arr[i] = (2 * i) + 1 ( 0 <= i < n ). 一次操作中,你可以选出两个下标,记作 x 和 y ( 0 <= ...

  2. 【周赛-简单】5488. 使数组中所有元素相等的最小操作数

    存在一个长度为 n 的数组 arr ,其中 arr[i] = (2 * i) + 1 ( 0 <= i < n ). 一次操作中,你可以选出两个下标,记作 x 和 y ( 0 <= ...

  3. Leetcode5488. 使数组中所有元素相等的最小操作数【第 202场周赛】【水】

    题目链接 题意:存在一个长度为 n n n的数组 a r r arr arr,其中 a r r [ i ] = ( 2 ∗ i ) + 1 ( 0 < = i < n ) arr[i]=( ...

  4. JS对象 数组排序sort() sort()方法使数组中的元素按照一定的顺序排列。 语法: arrayObject.sort(方法函数)...

    数组排序sort() sort()方法使数组中的元素按照一定的顺序排列. 语法: arrayObject.sort(方法函数) 参数说明: 1.如果不指定<方法函数>,则按unicode码 ...

  5. leetcode 在排序数组中查找元素的第一个和最后一个位置

    给定一个按照升序排列的整数数组 nums,和一个目标值 target.找出给定目标值在数组中的开始位置和结束位置. 如果数组中不存在目标值 target,返回 [-1, -1]. 进阶: 你可以设计并 ...

  6. LeetCode (二分小专题)33搜索旋转排序数组34在排序数组中查找元素的第一个和最后一个位置35搜索插入位置

    前言 国庆前最后一次打卡,国庆后继续开启,公众号bigsai回复进群欢迎加入打卡,如有帮助记得点赞收藏. 近期打卡记录: LeetCode 32最长有效括号(困难) (本周) LeetCode 30串 ...

  7. 去掉数组最后一个元素_leetcode 34. 在排序数组中查找元素的第一个和最后一个位置每天刷一道leetcode算法系列!...

    作者:reed,一个热爱技术的斜杠青年,程序员面试联合创始人 前文回顾: leetcode1. 两数之和--每天刷一道leetcode系列! leetcode2. 两数相加--每天刷一道leetcod ...

  8. [算法]LeetCode 专题 -- 二分查找专题 34. 在排序数组中查找元素的第一个和最后一个位置

    LeetCode 专题 – 二分查找专题 34. 在排序数组中查找元素的第一个和最后一个位置 难度:中等 题目描述 给定一个按照升序排列的整数数组 nums,和一个目标值 target.找出给定目标值 ...

  9. 【回溯算法】【打卡第179道】:leetCode :39. 组合总和(数组中的元素可以重复使用)

    1.题目描述 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有不同组合 ,并以列表形式 ...

最新文章

  1. OpenCV中 Mat 按行或按列合并程序
  2. P1803 凌乱的yyy / 线段覆盖(选择不相交区间,贪心)
  3. 基于UDP协议的socket套接字编程 基于socketserver实现并发的socket编程
  4. [EF]vs15+ef6+mysql这个问题,你遇到过么?
  5. Spring容器实例bean中的几个关键PostProcessor
  6. 分享珍藏很久的Python学习知识手册
  7. c语言leg 10,Leg massaging device
  8. VS2008开发中Windows Mobile 5.0 emulator连网的配置
  9. SPSS下载安装教程
  10. 无线网络技术:GPS(美国全球定位系统)的发展史
  11. bouncycastle
  12. RAKsmart:Linux SSH 客户端断开后保持进程继续运行配置方法
  13. noseunittestpytest
  14. html放大镜移动,支持移动手机的jquery放大镜插件enlarge.js
  15. 一图了解群、交换群、环、交换环、整环、域的区别与联系
  16. 架构师到底要做什么?
  17. 求树的直径算法以及证明
  18. 深入理解Java异常机制
  19. android淡入淡出动画循环,Android activity动画(淡入淡出)
  20. 集成测试最全详解,看完必须懂了

热门文章

  1. scrapy startproject【学习笔记02】
  2. 综合素质计算机考点,教师资格证小学综合素质考点及考试真题:信息处理能力...
  3. python 类变量(属性)和实例变量(属性
  4. C++基础之this指针的详解
  5. java 线程 状态 图_Java提高——多线程(一)状态图
  6. linux内核的I2C子系统详解5——i2c_driver的注册、i2c_client的来源
  7. day 34 守护线程守护进程 互斥锁线程 信号量 生产者消费者
  8. FPGA开发全攻略——概念篇
  9. SQL Server 2008R2数据库文件导入到SQL Server 2008数据库中
  10. MYSQL性能优化(转)