我是靠谱客的博主 自觉冬瓜,这篇文章主要介绍82 - 找出列表中出现次数超过列表长一半的元素有一个数字列表,要找出列表中出现次数超过列表长度一半的数字,如果有2个或2个以上数字出现的次数都超过了列表长度的一半,找出第一个满足条件的数字即可,如果列表元素个数是奇数,列表元素个数的一半取整数部分(四舍五入),现在分享给大家,希望可以做个参考。

有一个数字列表,要找出列表中出现次数超过列表长度一半的数字,如果有2个或2个以上数字出现的次数都超过了列表长度的一半,找出第一个满足条件的数字即可,如果列表元素个数是奇数,列表元素个数的一半取整数部分(四舍五入)

例如: 长度为21的列表的一半取11

def moreThanHalfNum(numbers):
    d = {}
    maxNum = 'no'
    listCount = len(numbers)
    
    for n in numbers:
        if d.get(n) is None:
            d[n] = 1
            if maxNum == 'no':
                maxNum = n
        else:
            d[n] += 1
        if n != maxNum and d.get(n) > d.get(maxNum):
            maxNum = n
        if d.get(maxNum) > listCount // 2:
            return maxNum
    return 'no' 

print(moreThanHalfNum([1, 2, 3, 4, 1, 1, 1, 1]))
1

83 - 找到第n个丑数

最后

以上就是自觉冬瓜最近收集整理的关于82 - 找出列表中出现次数超过列表长一半的元素有一个数字列表,要找出列表中出现次数超过列表长度一半的数字,如果有2个或2个以上数字出现的次数都超过了列表长度的一半,找出第一个满足条件的数字即可,如果列表元素个数是奇数,列表元素个数的一半取整数部分(四舍五入)的全部内容,更多相关82内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(104)

评论列表共有 0 条评论

立即
投稿
返回
顶部