この種の問題の名前があるかどうかはわかりませんが、解決策はそれほど多くないので、私ができることはできる限り最善の方法で記述しようとしています。値が変化する2つの配列間の補間
[5:その後、アレイ内の値に変更している
[0、0、3、0]
:
は考えIは、次の状態の配列を有します、0、0、0]
のは、と新しい状態C古い状態を呼ぶことにしましょう。我々は、その2つの中間的な形を表す状態Bを見つけたいと思っています。
私が実際に中間形式にしたいのは、[0、4、0、0]です。この3つのフェーズのすべての状態変化は、位置と値を変更しているものの動きを表します。 [2.5、0、1.5、0]、私は後に何が起こっているのかを間違った表現で表しています。
別の例:
A:[0、2、0、0、0、6]
C:[0、4、0、8、0、0]
中間形式は次のようになります
B:[0、3、0、0、7、0]
問題の一部は、問題の定義に問題があります。どのような結果を入力したいのかはっきりしていますが、正確な言語を使用して入力の結果を記述することはできません。
私は問題をよりよく表現できるように、入力の結果を記述する正しい方法は何ですか?
そして、最終的には、私が後にしているものを生み出すアルゴリズムがありますか?
これは私の例のように未変更の値がすべて0である場合に機能しますが、例えば[2,2,3,2]と[5,2,2,2]は[2,4,2,2]を生成するはずです...もしif e1!= 0を変更することで解決できるか、 e2!= 0'を 'if e1!= e2'に変更しますか?私の選択した言語でこれを試してみてください... – Joey
私の更新された答えを見てください。一般的に、私はそれを指定することなく "ベース"を特定する方法がありません。結局のところ、[2,2,3,2]と[5,2,2,2]は、2がインデックス0で5になり、2がインデックス1で2になる配列になる可能性があります。 – BallpointBen
です。私はそこに本質的なあいまいさがあると思います。私は2つの入力間の最も一般的な値を調べることによって、「ベース」をあらかじめ計算することができると思います。もちろん、これは共通の値がない場合には機能しません。 [1,2,3]および[5,6,7] ==> [3,4,5] – Joey