問題タブ [lcs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 最長共通部分列のアルゴリズムにおける境界例外
2 つの文字列の最長共通部分列を見つけるアルゴリズムを書きました。
「plik1」ファイルに含まれるものは次のとおりです。
そして、ここに file2 に保存する必要があるものがあります。
コンパイル後、次のエラーが発生します。
コードの何が問題なのかわかりません...
c++ - 指定された 2 つの文字列の親文字列
2 つの文字列が与えられた場合、与えられた文字列が文字列のサブシーケンスになるように、長さが最小の文字列を見つける必要があります。つまり、一部の文字を削除すると指定された文字列になるような文字列を見つける必要があります。ブルートフォースとLCSを考えていましたが無駄でした。
12345 と 11234 は 112345 WWA になり、WWS には応答 WWAS があります
LCS はかなりメモリ効率が悪く (DP のもの)、総当りは幼稚です。私は何をすべきか?
r - 2 つの文字列間の不連続な一致を見つける R の最長の共通部分文字列
R で最も長い一般的な部分文字列を見つけることについて質問があります。StackOverflow のいくつかの投稿を検索しているときに、qualV パッケージについて知りました。ただし、このパッケージの LCS 関数は、連続していなくても、string2 に存在する string1 のすべての文字を実際に検出することがわかります。
説明するために、文字列が string1 : " hello " string2 : " hel 12345lo" の場合、出力は hel であると予想されますが、出力は hello として取得されます。私は何か間違ったことをしているに違いない。以下の私のコードを見てください。
Rlibstree メソッドも試しましたが、まだ連続していない部分文字列が得られます。また、部分文字列の長さも私の予想から外れています.s 以下を参照してください。
java - Java での差分、パッチ、リバース パッチ
入れ子にすることができ、配列などを含むことができる2つのJavaオブジェクト間の差分を作成できるJavaユーティリティを探しています。ユーティリティには、元のオブジェクトに差分(別名パッチ)を適用し、差分を削除する機能も必要ですそれから。
JS で 1 つ取得しました: https://github.com/benjamine/jsondiffpatch。ただし、Java に既に存在するものがあるとよいでしょう。
また、ツールは LCS を実装する必要があり、配列比較は逐語的 (行単位) 比較ではなくハッシュ関数 (カスタマイズ可能) に基づく必要があることに注意してください。つまり、配列移動などを処理する必要があります。
差分は、XML/JSON 変換された Java オブジェクトのいずれかを取ることができます
python - 最長共通部分列からの差分の印刷
だから私はPerlとPythonの両方でいくつかの練習問題を行ってきました(2つから選択するようなものです)、Githubと同じように独自の差分アルゴリズムを作成する必要があるという問題がありました。最長共通部分列問題が解決策の大きな部分を占めていることを知るところまで来ました。LCSのウィキペディアのページを参考にしましたが、まだ差分部分がわかりません。
また、Algorithm:Diff のようなモジュールが CPAN に既に存在することも認識していますが、これはほとんど練習用であり、ごまかしのように感じます。
私はアルゴリズムの python/pseudocode バージョンを理解しましたが、Perl にはないように見える多次元配列でそれを行う予定です。
これで、Perl で Longest Common Subsequence の長さを正常に取得できるところまで来ました。
基本的に、私が考えることができる疑似コード (ほぼ Python に似ていますが、Perl 用であると想定されています) は次のようなものです。
まだ実装していませんが、基本的には2つの文字列のLCSの長さを計算する方法だと思いますか?
出力に関しては、"HUMAN" & "CHIMPANZEE" (LCS = HMAN) に対して 4 を返す必要があります。
だから私が求めているのは、この時点から Perl を使用して Diff を印刷するにはどうすればよいかということです。LCSの長さだけではなく、代わりにリスト/配列を返す必要があることを認識しています。これは、LCS関数で多次元リストを返し、後で別のdiff関数で処理することで実行できます.
私はPerlを初めて使用するので、ポインタ/ヒントをいただければ幸いです。ありがとう。