重複する要素を取り除く
Posted feedbacks - Other
1 2 3 4 5 | 集合+ソートを用いたものでは、Pythonでの僕の投稿 #2818 も、
最悪のケースでの計算量は指数オーダーでした。
ユニークな要素の数が多すぎると sortとcountで効率が落ちる。
効率考えたつもりが返って悪化した悪い例になってしまった(恥
|
Factor です。
1 2 3 4 5 6 7 8 | USING: kernel sequences combinators.lib math ;
: uniq-only ( seq -- newseq )
dup [ [ = ] curry ] swap [ slip swap count 1 = ] 2curry subset ;
! example
USE: prettyprint
{ 3 1 4 1 5 9 2 6 5 } uniq-only .
|





にしお
#3412()
Rating1/1=1.00
これはアレイのuniqの派生問題です。 リストとかアレイという言葉は言語によってまちまちの意味で使われているので、 「配列のようなもの」という漠然とした意味にとって構いません。
[ reply ]