[過去ログ] プログラミングのお題スレ Part21 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
638
(32): 638 [sage] 2023/05/05(金) 15:50:16.77 ID:ZEoAaBzl(1/2) AAS
>>631
631(5): デフォルトの名無しさん [] 2023/05/03(水) 19:34:29.78 ID:swhBFkse(1) AAS
お題

最長重複文字列を求めてください
入力: mississippi
出力: issi
Perl5

$len = length ($s = 'mississippi');
for $a (0..$len-2) {
 for $l (1..$len-$a) {
  $t = substr($s, $a, $l);
  $b = index($s, $t, $a+1);
  $h{length $t} = $t if 0 <= $b
 }
}
print $h{(sort keys %h)[-1]}, "\n";

注: インデントは全角スペースに置換してあります

実行結果
~ $ perl 21_631_mississippi.pl
issi
641: デフォルトの名無しさん [sage] 2023/05/05(金) 23:20:24.37 ID:ZEoAaBzl(2/2) AAS
>>638

重複を検出した文字の長さが二けた以上になる場合にも対応させるには

print $h{(sort keys %h)[-1]}, "\n";

print $h{(sort{$a <=> $b} keys %h)[-1]}, "\n";

だな。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.048s