[過去ログ] プログラミングのお題スレ Part15 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
73
(7): 2019/08/06(火)18:46 ID:/2t+ALeN(1) AAS
お題: スターリンソートを実装せよ
74: 2019/08/06(火)19:06 ID:Uq1zh0Vl(1) AAS
>>73
seq 300|sort -R | perl -ne ' if ($. == 1){print ; $hold = $_} elsif ($_ > $hold) { print ; $hold = $_}'
140
145
231
246
248
270
272
281
省3
75: 2019/08/06(火)20:18 ID:1YPxJa8a(3/4) AAS
>>73
要素粛清しながら見た目がそろっているというギャグかいな。
77: 2019/08/07(水)15:33 ID:ts1kCtnm(1) AAS
>>73 Squeak/Pharo Smalltalk

| fn |

fn := [:array |
| memo |
memo := array first.
array reject: [:x | x < memo flag: (memo := x max: memo)]
].

fn value: (1 to: 300) asArray shuffled. "=> #(65 116 195 235 276 280 293 299 300) "
78: 2019/08/08(木)00:35 ID:X/CTiqlR(1) AAS
>>73
しばらくお題がないとおちつかないな
seq 300|sort -R | perl -ne ' if ($. == 1 or $_ > $hold) { print ; $hold = $_}'
79: 2019/08/08(木)10:41 ID:Q6oNbeov(1) AAS
>>73

ss = -> a {a.reduce([]){|r, e| r.first.nil? ? [e] : r.last < e ? r + [e] : r}}

p ss[[3,1,4,1,5,9,26,53,58,97,93,238]] # =>
[3, 4, 5, 9, 26, 53, 58, 97, 238]
80
(1): 2019/08/09(金)00:37 ID:F1quTbHl(1/3) AAS
>>73 Perl5

use List::Util 'max';
@a = qw{3 1 4 1 5 9 26 53 58 97 93 238};
@b = grep {$n < $_ and $n = max($n, $_)} @a;
print "@b\n";

実行結果
~ $ perl 15_73.pl
3 4 5 9 26 53 58 97 238
83
(1): 2019/08/09(金)01:27 ID:F1quTbHl(2/3) AAS
>>73 Perl5、 >>80 よりこっちの方が若干スマート

$n = -inf;
@a = qw{0 3 1 4 1 5 9 26 53 58 97 93 238};
@b = grep {$n < $_ and ($n = $_), 1} @a;
print "@b\n";

実行結果
~ $ perl 15_73.pl
0 3 4 5 9 26 53 58 97 238
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.041s