python | 在数组中找到出现次数大于一半的数

2020-05-02  本文已影响0人  金融测试民工

题目描述

    给定一个整型数组arr,请打印其中出现次数大于一半的数,如果没有这样的数,请输出-1。

输入描述:

    输入包括两行,第一行包括一个整数n(1 \leq n\leq 10^5 ),代表数组长度,第二行包含n个数,代表数组arr(1 \leq n\leq 10^9 )。

输出描述:

    输出一个整数,代表出现次数大于一半的数,如果没有这样的数输出-1。

方法1:

def MoreThanHalfNum(len,arr):

    if len == 0:

        return -1

    for i in set(arr):

        count[i]=s.count(i)        #字典统计次数    

    max_value = max(count.values())

    half_value = len/2

    if max_value < half_value:

            print(-1)

    for k,v in count.items():

         if v == max_value:

             print(k,max_value)    

上一篇下一篇

猜你喜欢

热点阅读