百度笔试第一题死活都是9%,测试用例都过了

#百度笔试   
首先需要找出其中出现次数最多的整数,如果出现次数最多的整数不唯一,则找出其中值最大的整数,记为M然后再找出其中出现次数最少的整数,如果出现次数最少的整数不唯一,则找出其中值最小的整数,记为N;最后计算MN的差,即输出(M-N)
n  = int(input()) # 输入n个数
nums = input()  # str
nums = nums.split(" ")
for i in range(n):
    nums[i] = int(nums[i])

record = {}
for i in range(n):
    if nums[i] in record:
        record[nums[i]] += 1
    else:
        record[nums[i]] = 1
cishu_max = max(record.values())
cishu_min = min(record.values())
result_max = float('-inf')
result_min = float('inf')
for index,value in record.items():
    if value == cishu_max:
        result_max = max(result_max,index)
    if value == cishu_min:
        result_min = min(result_min,index)

print((result_max - result_min))

我想知道为什么这道题,我死活都是9% ,测试用例什么都对了!
#百度笔试#
全部评论
百分之9结果是input的问题 input.split() 括号里没有“ ”
1 回复 分享
发布于 2022-04-12 22:45
我他妈的也是
1 回复 分享
发布于 2022-04-12 21:24
提供一种100%的解法吧,可参考~
1 回复 分享
发布于 2022-04-13 21:52
这道如果用优先队列的话怎么样
点赞 回复 分享
发布于 2022-04-19 15:03
日哦,刚刚上面那位说的是对的,split(" )只能分割一个字符,split()可以分割多个字符,他那sb可能是数字之间有多个空格分开
点赞 回复 分享
发布于 2022-04-13 08:41
我用的字典统计次数,然后 sorted(dic.items(), key=lambda kv:(kv[1],kv[0])) 后得到的列表两端值再相减,过了45%
点赞 回复 分享
发布于 2022-04-12 22:35

相关推荐

点赞 评论 收藏
分享
Eason三木:你如果想干技术岗,那几个发公众号合唱比赛的经历就去掉,优秀团员去掉,求职没用。然后CET4这种不是奖项,是技能,放到下面的专业技能里或者单独列一个英语能力。 另外好好改改你的排版,首行缩进完全没有必要,行间距好好调调,别让字和标题背景黏在一起,你下面说能做高质量PPT你得展现出来啊,你这简历排版我用PPT做的都能比你做的好。 然后自我评价,你如果要干数据工程师,抗压能力强最起码得有吧。
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务