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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
18
(6): 2019/11/25(月)01:25 ID:SBJvKXmI(1) AAS
お題:Diffアルゴリズムを実装せよ。

差分アルゴリズム、さんぷる。
1:abcdef
2:abdef -> -3:c
3:bcdef -> -1:a,+3:c
4:abcdef -> +1a

以上がオレの考えるアルゴリズムだが、
もっとより良いアルゴリズムが世の中にはあるはずなので、
実装しませんか?
19: 2019/11/25(月)09:24 ID:veETdbiQ(1) AAS
>>18
それはアルゴリズムではなく入力と出力のサンプル。

まあとにかく足された文字は+と位置と足された文字(または文字列?)を出して引かれた文字は-と位置と文字を出す仕様ということだな。
で、位置は先頭が1だと。

後で時間が空いたら考えとく。
20: 2019/11/25(月)22:13 ID:UwQDpJpg(1) AAS
>>18
外部リンク:ideone.com
Rには編集前後の文字列のレーベンシュタイン距離を求める便利な関数adistが
備わっていて、1文字の挿入、削除、置換操作が必要な位置をI, D, S、操作が不要な
位置をMで示す文字列を返してくれる。例えば、"abdef" と "bcdef" を与えると、
"DMIMMM" が得られる。あとは、>>18の出力形式にちょっと加工するだけ。
21: 2019/11/26(火)01:23 ID:q8waUqPK(1) AAS
>>18
Kotlin
外部リンク:paiza.io

1文字以上の追加や削除も出せるようにしてある。
22: 2019/11/26(火)11:38 ID:JjgFJEIb(1/2) AAS
>>18
C
外部リンク:paiza.io
23: 2019/11/26(火)15:12 ID:JjgFJEIb(2/2) AAS
>>18
Perl
外部リンク:paiza.io

あまりPerlの特性を生かせてないような、かといって今のところこれぐらいしか思い浮かばない。
24: 2019/11/26(火)16:15 ID:FF/Zqwz/(1) AAS
>>18
やっぱお前ら高性能だな。言い方悪いけど。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.041s