2

質問。これは簡単な質問ですが、このコードの何が問題になっているのかわかりません。

from collections import Counter
def com(N,A):
    num_array=A.split()
    c=Counter(num_array)
    C=max(c.values())
    l1=[]
    for k in c:
        if c[k]==C:
            l1.append(k)

    V1=min(l1)
    V=int(V1)
    print V,C

t=input()
for i in range(t):
    N=input()
    A=raw_input()
    com(N,A)

可能であれば、もっと簡単な解決策があればいいでしょう

4

2 に答える 2

1

l1最小値を取る前に、値を整数に変換する必要があります。それ以外の場合は、文字列の最小値を取得しています。

于 2013-03-02T01:15:10.387 に答える
1

これで始められます:

from collections import Counter

li='''2
5
1 2 3 2 5
6
1 2 2 1 1 2'''.splitlines()
c=Counter()
for e in [s.split(' ') for s in li]:
    c.update(e)

print c.most_common(2)

プリント:

[('2', 6), ('1', 4)]
于 2013-03-02T01:19:15.383 に答える