给定一个只包含正整数的非空数组,返回该数组中重复次数最多的前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] 标记;只有当(

leecode第二天-使用异或找出数组中的非重复元素

Ebay 面试题 | 把数组分成和大小一样的集合

leetcode题目,个人见解1

动态规划——在数组中找到目标求和方式