饼干怪物问题:将所有数组元素减少到0的最小移动次数
创始人
2024-12-18 10:30:23
0

思路:观察题目,可以知道每个元素的操作是独立的,无论是做加法还是做减法都是一样的,也就是可以先把所有元素取绝对值,然后对每个元素进行操作。

步骤:

  1. 将所有元素取绝对值
  2. 找到数组中最大元素max
  3. 如果数组中所有元素都为0,返回0
  4. 统计数组中非0元素的个数count
  5. 如果max大于count,返回max
  6. 否则返回count(因为每次对一个元素加一,至少需要count次)

代码实现:

def cookie_monster(arr):
    # 将所有元素取绝对值
    arr = [abs(i) for i in arr]

    # 找到数组中最大元素
    max_num = max(arr)

    # 如果数组中所有元素都为0,返回0
    if max_num == 0:
        return 0

    # 统计数组中非0元素的个数
    count = sum([1 for i in arr if i != 0])

    # 如果max大于count,返回max
    if max_num > count:
        return max_num

    # 否则返回count
    return count

示例:

arr = [1, -2, 3, 4, -5]
print(cookie_monster(arr)) # 输出2

相关内容

热门资讯

1分钟总结!雀神广东麻将神器软... 1分钟总结!雀神广东麻将神器软件(透视)就是真的有挂(2021已更新)(百度知乎)1)雀神广东麻将神...
3分钟辅助挂!情怀麻将专用神器... 3分钟辅助挂!情怀麻将专用神器(透视)详细辅助插件教程(2024已更新)(哔哩哔哩)1、很好的工具软...
十分钟体悟!兴动棋牌有挂没有(... 十分钟体悟!兴动棋牌有挂没有(辅助挂)好像真的有挂(2020已更新)(哔哩哔哩)1、该软件可以轻松地...
3分钟辅助挂!九酷众娱辅助器(... 3分钟辅助挂!九酷众娱辅助器(辅助挂)详细辅助脚本教程(2024已更新)(微博热搜)3分钟辅助挂!九...
6分钟掌握!微乐挖坑开挂是真的... 6分钟掌握!微乐挖坑开挂是真的吗(透视)本来真的有挂(2021已更新)(知乎);微乐挖坑开挂是真的吗...
2分钟辅助挂!陕麻圈辅助器安装... 2分钟辅助挂!陕麻圈辅助器安装(辅助挂)详细辅助app教程(2024已更新)(微博热搜)小薇(透视辅...
两分钟方案!功夫川麻胜率低的原... 两分钟方案!功夫川麻胜率低的原因(辅助挂)本来真的有挂(2021已更新)(今日头条)1、下载好功夫川...
两分钟辅助挂!豆豆斗牌有技巧吗... 两分钟辅助挂!豆豆斗牌有技巧吗(辅助挂)详细辅助脚本教程(2023已更新)(微博热搜);1、金币登录...
九分钟辅助挂!广东雀神辅助插件... 九分钟辅助挂!广东雀神辅助插件的功能是什么(辅助挂)详细辅助安装教程(2025已更新)(知乎)1、广...
一分钟揭秘!先锋大厅辅助软件(... 一分钟揭秘!先锋大厅辅助软件(辅助挂)其实真的有挂(2022已更新)(小红书)1、下载好先锋大厅辅助...