複雑な配列操作を行う必要があり、難しかったです。私はあなたに助けを求めるかもしれないと思った。配列の操作 - アイテムを上に移動してJavaで類似したものを追加
とにかく、私がやっていることは、基本的に次のとおりです。 私は数字の配列を持っているとしましょう。だから、私は何をしたいの配列の先頭にすべての要素を移動し、したがって、それらのzereosで要素を埋めることです。
説明する例を使用します。 のが配列であるとしましょう:私は何をしたいことはある{4,4,0,2,0,2}
:{4,4,2,2,0,0}
だから、すべての数字は基本的にしてソートされた一つの領域です。 は今、私がしたい2つ目は、すべて同様の番号を追加しているので、我々は、上記の例を続ける場合:今{8,4,0,0,0,0}
、私は何をしようとしたことは基本的に全体のループを実行し、バック時に次の項目を移動しています私はゼロを見て、それをゼロで置き換えますが、それはいくつかの問題につながっています。
いくつかの提案はすばらしいでしょう。 Thansk
編集:私は、並べ替えなどとほかの少しを行う方法を考え出し
は、ここで私が持っているものです。あなたがそれをより良くするための提案があれば教えてください。
for(int j = 0; j < row.length ; j++){
for(int i = 0 ; i < row.length ; i++){
if(row[i] == 0){
row[i] = row[i+1];
row[i+1] = 0;
} else if(row[i] == row[i+1]){
row[i] = row[i+1] + row[i];
row[i+1] = 0;
}
}
}
}
ただし、ソートはすべて問題ありませんが、同様の要素が追加されている場合はわずかな問題があります。 ソート後に{2,2,2,2,0,0}
のようなものがあれば、私の追加部分は次のようになります:{8,0,0,0,0,0}
これは私が望むものではありません。必要なもの{4,4,0,0,0,0}
ですか?つまり、配列{2,4,2,0,4}で、{8,4,0,0,0}か{2,4,2,4,0}が生成されるはずですか?または、他の何か ? –
。 {2,4,2,0,4}のような配列の場合、{2,4,2,4,0}を生成するはずです。そのため注文が必要です。 また、私は気づいたばかりです。それは基本的に2048のようなものです。たぶん、私は誰かのレクリエーションを見に行くでしょう。 :P – Azazel