9.3---微众银行笔试第二题---捏泥巴人

题目描述:
输入一个n,代表数组长度
接下来输入一个数组nums,然后你可以任意给数组元素加值,加多少都行
问:最少加多少(总和),能够让数组没有重复元素

思路:

先排序

然后从第2个元素开始遍历到最后,只要这个元素小于等于上一个元素,就让它等于上一个元素+1(贪心),然后res+=(更新值减去原值)

代码:

#贪心
while(1):
    n = input().strip()
    if len(n)<=0:break
    n = int(n)
    line2 = input().strip()
    nums = [int(x) for x in line2.split(' ')]
    res = 0
    for i in range(1,n):
        if nums[i]<=nums[i-1]:
            res+=(nums[i-1]+1-nums[i])
            nums[i] = nums[i-1]+1
    print(res)

#晒一晒我的offer##webank##笔试#
全部评论
AK了吗
1 回复 分享
发布于 2023-09-03 22:11 广东
很巧妙,我是一点思路没有这道题
1 回复 分享
发布于 2023-09-03 22:35 重庆
我用队列也能做出来
1 回复 分享
发布于 2023-09-03 22:45 上海
我是这样做的: 我看有五个数,那就从1加到5,总和减去数组里五个数的总和,就直接出结果了hhh
1 回复 分享
发布于 2023-09-03 22:46 北京
顺带:这种贪心的思想我当时也没想出来,是后面学习别人的
点赞 回复 分享
发布于 2023-09-03 22:05 湖南
和我的想法差不多,但是只ac了部分
点赞 回复 分享
发布于 2023-09-05 19:36 湖北

相关推荐

昨天 12:37
已编辑
门头沟学院 Unity3D客户端
如题,鼠鼠快碎掉了。鼠鼠正在投暑期和日常的实习,可能是因为简历太差吧,好多初筛都没有过,所以其实格外珍惜每一次的约面。尤其鼠鼠是八股选手,但凡碰到喜欢问项目的面试官是直接速通鼠掉。那是一个万里无云的晚上,鼠鼠接到tx某子公司的约面,虽然没算法题但是问得我汗流浃背,面试官从我的八股批判到我的项目继而批判到我的实习,感觉基本上除了八股这种特定答案之外每一个问题都要质问我,尤其是询问到实习的时候我解释完之后直接来了一句“那你实习也啥也没做啊”,鼠鼠直接原地碎掉。之后的问题鼠鼠也不太记得了,大部分都是直接吟诵咒语,肌肉记忆直接不过脑子。因为接二连三的压力鼠鼠直接摆烂了,回答的时候也不太看屏幕直接开始搓...
机器人为什么是猫呀:楼主要自信。好的面试官是会照顾面试者情绪的,不会直接说那么伤人的话。面试表现其实很看自己的心态跟情绪,这些又和面试官的反馈很相关。而且有些面试官很高傲,不求甚解,自认为你的东西看一眼很简单,就不会听你说了,却没有从一个没有丰富工作经验的人的角度去思考。楼主不要因为这些影响心态,不要怀疑自己,只要遇到一个“合适”的面试官就会好很多的。
点赞 评论 收藏
分享
02-17 20:43
西北大学 Java
在做测评的猫头鹰很紧张:他问你,你问deep seek
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
3
4
分享

创作者周榜

更多
牛客网
牛客企业服务