2024.4.5力扣刷题记录-数组类刷题记录1

一、453. 最小操作次数使数组元素相等

数学

不会,来自官方题解(. - 力扣(LeetCode))。

class Solution:
    def minMoves(self, nums: List[int]) -> int:
        # 数学
        # 转化为对立事件
        # 考虑相对变化,一元素减一
        mn = min(nums)
        ans = 0
        for x in nums:
            ans += x-mn
        return ans

在遍历过程中动态寻找最小值,参考官方题解评论(. - 力扣(LeetCode))。

class Solution:
    def minMoves(self, nums: List[int]) -> int:
        # 数学2
        # 在遍历过程中动态寻找最小值
        ans = 0
        mn = nums[0]    #若这里设为inf会导致返回空
        # 因为第一次时,ans += inf*0
        for i,x in enumerate(nums):
            if x < mn:
                ans += (mn - x) * i     #加上之前最小值之间的差值
                mn = x      #更新最小值
            else:
                ans += x - mn
        return ans

直接相乘,但是会有溢出风险。代码如下:

class Solution:
    def minMoves(self, nums: List[int]) -> int:
        # 数学3
        # 可能会有int溢出风险
        return sum(nums) - len(nums) * min(nums)

感谢你看到这里!一起加油吧! 

相关推荐

  1. 2024.4.5记录-数组记录1

    2024-04-06 00:10:01       18 阅读
  2. 2024.4.7记录-数组记录2

    2024-04-06 00:10:01       14 阅读
  3. 2024.4.1(1200-1400)记录

    2024-04-06 00:10:01       17 阅读
  4. 2024.3.26记录-二叉树学习记录1(未完)

    2024-04-06 00:10:01       18 阅读
  5. 2024.4.28记录-数组记录3(未完)

    2024-04-06 00:10:01       16 阅读
  6. 2024.4.29记录-数组记录4

    2024-04-06 00:10:01       13 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-06 00:10:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-06 00:10:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-06 00:10:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-06 00:10:01       18 阅读

热门阅读

  1. 远程过程调用-buttonrpc源码解析8-ZMQ网络库

    2024-04-06 00:10:01       15 阅读
  2. Hutool实现用户密码加盐(Salt)工具类

    2024-04-06 00:10:01       12 阅读
  3. 使用Bootstrap Table实现无刷新分页

    2024-04-06 00:10:01       13 阅读
  4. 动态规划 Leetcode 516 最长回文子序列

    2024-04-06 00:10:01       14 阅读
  5. 多层感知机与DNN算法

    2024-04-06 00:10:01       16 阅读
  6. 贪心之跳跃

    2024-04-06 00:10:01       12 阅读
  7. postcss安装和使用

    2024-04-06 00:10:01       14 阅读