给定一个只包含正整数的非空数组,返回该数组中重复次数最多的前N个数字 ,返回的结果按重复次数从多到少降序排列(N不存在取值非法的情况)
Posted tengtenga
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了给定一个只包含正整数的非空数组,返回该数组中重复次数最多的前N个数字 ,返回的结果按重复次数从多到少降序排列(N不存在取值非法的情况)相关的知识,希望对你有一定的参考价值。
1 """ 2 #给定一个只包含正整数的非空数组,返回该数组中重复次数最多的前N个数字 3 #返回的结果按重复次数从多到少降序排列(N不存在取值非法的情况) 4 解题思路: 5 1.设定一个空字典,去存储列表中的值和值出现的次数 6 2.使用L.count()方法可以统计出L中值出现的次数 7 3.使用sorted方法可以进行排序,sorted(iterable,key,reverse) 8 注意key是函数 9 4.列表中的元祖取值 d[i][j] i是哪一个元祖,j是元祖中的第几个值 10 11 """ 12 def sort(N): 13 d = {} 14 for i in L: 15 d[i] = L.count(i) 16 #print(d) 17 dd = sorted(d.items(),key= lambda item : item[1],reverse= True) 18 print(dd) 19 for i in range(0,N): 20 print("出现次数排第%d的数字是%d,共出现了%d次" % (i+1,dd[i][0],dd[i][1])) 21 if __name__ == ‘__main__‘: 22 L = [1, 2, 3, 2, 3, 1, 2, 1, 2, 3, 2, 1, 4, 3, 2] 23 l = len(set(L)) 24 N = int(input("请输入一个不大于%d的数:" % l)) 25 sort(N)
以上是关于给定一个只包含正整数的非空数组,返回该数组中重复次数最多的前N个数字 ,返回的结果按重复次数从多到少降序排列(N不存在取值非法的情况)的主要内容,如果未能解决你的问题,请参考以下文章
2021-09-30:加一。给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数
2021-08-02:按公因数计算最大组件大小。给定一个由不同正整数的组成的非空数组 A,考虑下面的图:有 A.length 个节点,按从 A[0] 到 A[A.length - 1] 标记;只有当(