エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Rubyで素朴なdiffコマンドを書いてみた(動的計画法)
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Rubyで素朴なdiffコマンドを書いてみた(動的計画法)
だいぶ前に書いたものを見て思い出したりしつつ最低限のものを書いてみました。 (他所に書いていたもの... だいぶ前に書いたものを見て思い出したりしつつ最低限のものを書いてみました。 (他所に書いていたものを引っ越してきました。元の公開日は 2024-02-12 です。) コード 一番ベーシックな動的計画法のものを書いてみました。より改良された手法もあるようですが本記事では扱いません。 後で自分が見て思い出しやすいように少し冗長に書いています。「理解のためのリファクタリング」を自分なりに行った状態です。 # diff.rb class Diff def initialize(xs_a, xs_b) @xs_a = [nil] + xs_a @xs_b = [nil] + xs_b @table = Array.new(@xs_a.size) { Array.new(@xs_b.size) } end def no_edit?(ai, bi) @xs_a[ai] == @xs_b[bi] end