每日一练python22

题目:(最小操作次数使数组元素相等)给你一个长度为 n 的整数数组,每次操作将会使 n - 1 个元素增加 1 。返回让数组所有元素相等的最小操作次数。

示例 1:

输入:nums = [1,2,3] 输出:3
解释: 只需要3次操作(注意每次操作会增加两个元素的值): [1,2,3] => [2,3,3] => [3,4,3] => [4,4,4]
示例 2:

输入:nums = [1,1,1] 输出:0

程序说明:
1、找到其规律,发现可以将其他数减去最小值的差相加便可得到答案。可以先将数组进行排序
全部代码:

class Solution:
    def minMoves(self, nums: List[int]) -> int:
        y=sorted(nums)
        i=1
        n=0
        while i<len(y):
            num=y[i]-y[0]
            n+=num
            i+=1
        return n

题目来源:力扣(LeetCode)

猜你喜欢

转载自blog.csdn.net/qq_52669357/article/details/121612403
今日推荐