LeetCode中等题之使数组中所有元素相等的最小操作数

news/2024/11/21 1:39:25/

题目

存在一个长度为 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)

解题思路

  我们最常用的求一组数据均值的办法:如果发现数组是等差数列,往往可以对称的从尾部或者头部“借”来一部分的值放到头部或者尾部。

class Solution:def minOperations(self, n: int) -> int:arr=[2*i+1 for i in range(n)]count=0for i in range(n//2):count+=(arr[n-i-1]-arr[i])//2return count

在这里插入图片描述


http://www.ppmy.cn/news/605607.html

相关文章

Pycharm报错:Process finished with exit code -1073741819 (0xC0000005)

1.本来应该是文件夹目录 写成了文件 2.路径前面没有加r 识别成正则\t,\n等 记录踏坑历程 在用pycharm tensorflow-gpu环境 读tfrecord时出错 pycharm报错&#xff1a;Process finished with exit code -1073741819 (0xC0000005) 。针对这个泛泛的错误&#xff0c;网上存在应对…

LeetCode中等题之两棵二叉搜索树中的所有元素

题目 给你 root1 和 root2 这两棵二叉搜索树。请你返回一个列表&#xff0c;其中包含 两棵树 中的所有整数并按 升序 排序。. 示例 1&#xff1a; 输入&#xff1a;root1 [2,1,4], root2 [1,0,3] 输出&#xff1a;[0,1,1,2,3,4] 示例 2&#xff1a; 输入&#xff1a;root…

查错bug

1.当无法确定引用的母函数的时候,故意制造事故现场引出前面的调用函数

Redis数据类型详解(5基本+3特殊)

目录一、五大基本数据类型1.1、String(字符串)1.2、List(列表)1.3、Set(集合)1.4、Hash(哈希)1.5、Zset(有序集合)二、三种特殊数据类型2.1、geospatial(地理位置)2.1.1、GEOADD2.1.2、GEOPOS2.1.3、GEODIST2.1.4、GEORADIUS2.1.5、GEORADIUSBYMEMBER2.1.6、GEOHASH2.1.7、总结…

LeetCode简单题之1比特与2比特字符

题目 有两种特殊字符&#xff1a; 第一种字符可以用一个比特 0 来表示 第二种字符可以用两个比特(10 或 11)来表示、 给定一个以 0 结尾的二进制数组 bits &#xff0c;如果最后一个字符必须是一位字符&#xff0c;则返回 true 。 示例 1: 输入: bits [1, 0, 0] 输出: true 解…

使virtualenv从您的全局站点包继承特定的包

/ 猿问 使virtualenv从您的全局站点包继承特定的包 Python Bootstrap 冉冉说 2019-08-24 15:01:46 使virtualenv从您的全局站点包继承特定的包我正在寻找一种方法来制作一个virtualenv&#xff0c;其中只包含基本python安装的一些库&#xff08;我选择&#xff09;。更具体一点…

python pycharm 包 安装问题

20220824 https://blog.csdn.net/sinat_34937826/article/details/79992728 (1451条消息) Python中安装bs4后&#xff0c;pycharm报错ModuleNotFoundError: No module named ‘bs4‘_高大宝呀的博客-CSDN博客20220811 pip install paddleocr>2.0.1 安装可能会&#xff0c…

LeetCode简单题之实现 strStr()

题目 实现 strStr() 函数。 给你两个字符串 haystack 和 needle &#xff0c;请你在 haystack 字符串中找出 needle 字符串出现的第一个位置&#xff08;下标从 0 开始&#xff09;。如果不存在&#xff0c;则返回 -1 。 说明&#xff1a; 当 needle 是空字符串时&#xff0c;…