teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

説明追加

2021/03/21 13:29

投稿

ppaul
ppaul

スコア24672

answer CHANGED
@@ -1,1 +1,6 @@
1
- ループの前に一回だけ数えるか、ループの中で毎回数えるかの違いです。
1
+ ループの前に一回だけ数えるか、ループの中で毎回数えるかの違いです。
2
+
3
+ cnt = Counter(X)は、Xの要素をキーとして回数をバリューとする辞書を作ります。
4
+ ループの中では、この辞書からデータを取ってくるだけなので高速です。
5
+ 1番目ののコードは二重ループの中で毎回回数を数えています。
6
+ forループの中で Counter(X)[i]とかやれば、毎回回数を数えるので同じように遅くなります。