LeetCode 1551. 使数组中所有元素相等的最小操作数(等差数列)
文章目录
- 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. 使数组中所有元素相等的最小操作数(等差数列)相关推荐
- leetcode 5488. 使数组中所有元素相等的最小操作数(C++)
存在一个长度为 n 的数组 arr ,其中 arr[i] = (2 * i) + 1 ( 0 <= i < n ). 一次操作中,你可以选出两个下标,记作 x 和 y ( 0 <= ...
- 【周赛-简单】5488. 使数组中所有元素相等的最小操作数
存在一个长度为 n 的数组 arr ,其中 arr[i] = (2 * i) + 1 ( 0 <= i < n ). 一次操作中,你可以选出两个下标,记作 x 和 y ( 0 <= ...
- Leetcode5488. 使数组中所有元素相等的最小操作数【第 202场周赛】【水】
题目链接 题意:存在一个长度为 n n n的数组 a r r arr arr,其中 a r r [ i ] = ( 2 ∗ i ) + 1 ( 0 < = i < n ) arr[i]=( ...
- JS对象 数组排序sort() sort()方法使数组中的元素按照一定的顺序排列。 语法: arrayObject.sort(方法函数)...
数组排序sort() sort()方法使数组中的元素按照一定的顺序排列. 语法: arrayObject.sort(方法函数) 参数说明: 1.如果不指定<方法函数>,则按unicode码 ...
- leetcode 在排序数组中查找元素的第一个和最后一个位置
给定一个按照升序排列的整数数组 nums,和一个目标值 target.找出给定目标值在数组中的开始位置和结束位置. 如果数组中不存在目标值 target,返回 [-1, -1]. 进阶: 你可以设计并 ...
- LeetCode (二分小专题)33搜索旋转排序数组34在排序数组中查找元素的第一个和最后一个位置35搜索插入位置
前言 国庆前最后一次打卡,国庆后继续开启,公众号bigsai回复进群欢迎加入打卡,如有帮助记得点赞收藏. 近期打卡记录: LeetCode 32最长有效括号(困难) (本周) LeetCode 30串 ...
- 去掉数组最后一个元素_leetcode 34. 在排序数组中查找元素的第一个和最后一个位置每天刷一道leetcode算法系列!...
作者:reed,一个热爱技术的斜杠青年,程序员面试联合创始人 前文回顾: leetcode1. 两数之和--每天刷一道leetcode系列! leetcode2. 两数相加--每天刷一道leetcod ...
- [算法]LeetCode 专题 -- 二分查找专题 34. 在排序数组中查找元素的第一个和最后一个位置
LeetCode 专题 – 二分查找专题 34. 在排序数组中查找元素的第一个和最后一个位置 难度:中等 题目描述 给定一个按照升序排列的整数数组 nums,和一个目标值 target.找出给定目标值 ...
- 【回溯算法】【打卡第179道】:leetCode :39. 组合总和(数组中的元素可以重复使用)
1.题目描述 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有不同组合 ,并以列表形式 ...
最新文章
- OpenCV中 Mat 按行或按列合并程序
- P1803 凌乱的yyy / 线段覆盖(选择不相交区间,贪心)
- 基于UDP协议的socket套接字编程 基于socketserver实现并发的socket编程
- [EF]vs15+ef6+mysql这个问题,你遇到过么?
- Spring容器实例bean中的几个关键PostProcessor
- 分享珍藏很久的Python学习知识手册
- c语言leg 10,Leg massaging device
- VS2008开发中Windows Mobile 5.0 emulator连网的配置
- SPSS下载安装教程
- 无线网络技术:GPS(美国全球定位系统)的发展史
- bouncycastle
- RAKsmart:Linux SSH 客户端断开后保持进程继续运行配置方法
- noseunittestpytest
- html放大镜移动,支持移动手机的jquery放大镜插件enlarge.js
- 一图了解群、交换群、环、交换环、整环、域的区别与联系
- 架构师到底要做什么?
- 求树的直径算法以及证明
- 深入理解Java异常机制
- android淡入淡出动画循环,Android activity动画(淡入淡出)
- 集成测试最全详解,看完必须懂了
热门文章
- scrapy startproject【学习笔记02】
- 综合素质计算机考点,教师资格证小学综合素质考点及考试真题:信息处理能力...
- python 类变量(属性)和实例变量(属性
- C++基础之this指针的详解
- java 线程 状态 图_Java提高——多线程(一)状态图
- linux内核的I2C子系统详解5——i2c_driver的注册、i2c_client的来源
- day 34 守护线程守护进程 互斥锁线程 信号量 生产者消费者
- FPGA开发全攻略——概念篇
- SQL Server 2008R2数据库文件导入到SQL Server 2008数据库中
- MYSQL性能优化(转)