【问题标题】:Decreasing order of occurrence降低发生顺序
【发布时间】:2021-03-01 14:38:29
【问题描述】:

我想获取在数组中按降序排列的整数。如果出现的计数匹配,则更大的整数获得偏好。我得到错误的输出。你能帮我解决这个问题吗?

输入-

5
6 1 2 1 2

输出-

2 1 6

Python 中的代码:-

n=int(input())
a=list(map(int,input().strip().split()))
for i in range(n):
    c=1
    for j in range(i+1,n):
        if(a[i]==a[j]): 
            c+=1
    sorted(a,reverse=True)
    print(a)

【问题讨论】:

  • sorted 不会就地修改,而是返回一个新列表。它可能无法解决您的问题,但请尝试a = sorted(a,reverse=True)
  • collections.Counter([6, 1, 2, 1, 2]).most_common(3)

标签: python arrays sorting


【解决方案1】:

如果你不关心 count 是偶数的顺序,你可以使用这个:

sorted(set(a), key=a.count, reverse=True)

# [1, 2, 6]

【讨论】:

    猜你喜欢
    • 2019-08-21
    • 1970-01-01
    • 2018-10-23
    • 2021-12-07
    • 2019-11-15
    • 2023-02-06
    • 2022-08-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多