2つの整数リスト(古いものと新しいもの)を比較する標準アルゴリズム/コード(Java)を探していて、「古い」リストを「新しい」リストに変換するアクションを提供する3番目の結果リストを提供します'リスト。例えばJavaのシーケンス比較
:
ここ1-, 9+, 2, 3, 4-, 6+, 4+
、接尾辞:
- = Deleted item from old list.
+ = New added item to old list.
、残り(W/Oサフィックス)
old-> 1, 2, 3, 4
new-> 9, 2, 3, 6, 4
ので、結果はのようなものでなければなりません、変わらない数字(すなわち、ValueとIndex)です。私はLCS(最も長い共通シーケンス)を使って何かがこの仕事をすると信じています! しかし、私は本当に何かがあるかどうかは分かりません。
どのポインタも高く評価されます。
こんにちは、 ご返信ありがとうございます。私は申し訳ありませんが、解決策に到達する方法として、私は本当に理解できません。ここで多次元配列(d)とは何ですか?どのように私はそれを設定するのですか? 基本的には、私が持っているものが2つのフラットリストであるとき、どのようにして始めますか? – Abhishek
"d"は部分問題(d [i、j] = [0..i]をb [0..j]に変更するのに必要な最小限のアクション、したがってd [a.length、b.length ]完全な問題の解決策になります)。 LCSや動的プログラミングに精通している人なら、おなじみでなければなりません。さもなければ、はじめにアルゴリズムや他のところからLCSセクションを読むことをお勧めします。 –