輸出數組中出現次數最多且值最大的數字----python


class Solution():
    #求最多的數
    def find_max(self,list):
        num = 0
        for i in list:
            print(i)
            if list.count(i) > num:
                num = list.count(i)
                value = i
        return value

    #求最多且最大的數
    def find_most_num(self,list):
        num = 0
        most = 0
        for i in list:
            print(i)
            if list.count(i) >= num:
                if i > most:
                    most = i
                    num = list.count(i)
        return most
    #另一種算法
    def find_most_dict(self,list):
        dict = {}
        for i in list:
            if i in dict.keys():
                dict[i] += 1
            else:
                dict[i] = 1
        print(dict)
        max = 0
        for k,v in dict.items():
            if v >= max:
                value = k
                max = v
                if k > value:
                    value = k
        return value




if __name__ =='__main__':
    list = [1,2,8,13,3,4,8,8,2,5,3,1,2,4,5,5,2,8,19,8,2]
    solution = Solution()
    # result = solution.find_max(list)
    # print('==============')
    # print(result)
    print('=====================================')
    #result2 = solution.find_most_num(list)
    print('==============')
    #print(result2)
    result3 = solution.find_most_dict(list)
    print('==============')
    print(result3)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM