1

これは私の質問です:

長さ= 6のint配列が与えられた場合、配列に属する数値のどのペアがその中心であるかを知りたいと思います。つまり、配列を長さ ==2 の 3 つの smalls 配列に分割し、それらを行列内の 1 つの座標ペアとして配置すると、(最初の座標は i の値を意味し、2 番目の座標はj) の値を指定すると、行列に "L" のようなものが表示されます。したがって、中心は L の真ん中にある長さ = 2 の小さな座標です。

グリッド

PD: 利用可能な「小さな配列」のペアは次のとおりです。

{array[0],array[1]}

{array[2],array[3]}

{array[4],array[5]}

あなたが私を助けてくれることを願っています!ゲームのロジックを作っています!私の英語でごめんなさい!

4

6 に答える 6

1

セルの与えられた3つの座標が「L」の形を形成するとき、2つのセルは互いに反対になります。つまり、これらの 2 つのセルには (a,b) と (b,a) のような点があります。したがって、この 2 つ以外の点が中心になります。

したがって、(a,b) と (b,a) のような 2 つの点を見つけるだけです。他の点は中心になります。

1 番目、2 番目、3 番目が (a,b) のような形の 3 点の場合

if(first.a==second.b && first.b=second.a)

        return three;

if(second.a==three.b && second.b==three.a)


     return first;

else return second;
于 2013-11-11T10:54:43.873 に答える
1

あなたの例は間違っています!あなたの配列は|0|0|0|1|1|0|

それを確認する簡単な方法は次のとおりです。

|0|1|2|   3   |    4  |5| 
|x|y|x|y(+/-)1|x(+/-)1|y|
or
|0|1|   2   |3|4|    5  |
|x|y|x(+/-)1|y|x|y(+/-)1|

中心が c(x=0,y=1) かどうかを確認するには:

x (インデックス 0) の同じ値がインデックス 2 にあり、(インデックス 4 の値 (+/-)1) に等しいかどうか、および y の同じ値 (インデックス 1) がインデックス 3 にあり、(インデックスの値) に等しいかどうかを確認します5 (+/-)1)

または、x (インデックス 0) の同じ値がインデックス 4 にあり、(インデックス 2 の値 (+/-)1) に等しいかどうかをチェックします。AND y の同じ値 (インデックス 1) がインデックス 5 にあり、(値の値) に等しいかどうかを確認します。インデックス 3 (+/-)1)

PS。上記の場合、L の長さを 1 に固定しました。それを変更して、別の値 4、5 などを使用できます。

于 2013-11-08T22:18:45.810 に答える
0

あなたの質問を理解しているかどうかわかりません。長さ 6 の任意の配列が与えられ、その配列には未知の方向の L 字型が含まれており、中心である配列のスライスを返す必要がありますか?

では、中心がどこにあるかをどのように把握すればよいでしょうか。2回繰り返されるのはx座標とy座標になります。したがって、2 回繰り返される x 値を探してから、2 回繰り返される y 値を探します。あなたは今あなたの中心を持っています。

于 2013-11-08T22:14:46.693 に答える
0

最初に私はあなたの質問を適切に理解できませんでした。私が理解したことが正しい場合、ここに解決策があります.eg: 長さ 10 の int 配列があります。

したがって、入力配列の長さが偶数の場合は、(配列の長さ)/2 を実行します。これは、この場合は 5 です。明らかに、yur mid 配列は、元の入力配列の 5 番目と 6 番目の要素を含む配列になります。

入力配列の長さが奇数の場合は、(配列の長さ + 1)/2 を実行します。この場合は 6 です。明らかに、yur mid 配列は、元の入力配列の 6 番目と 7 番目の要素を含む配列になります。ただし、この場合、最後の配列には j 番目の座標がありません。

配列の長さについて指定していません。

于 2014-03-27T13:07:08.780 に答える
-1

3 点の配列を使用できます。Pointは、x 値と y 値を保持する Java クラスです。

図の赤く塗られた 3 つのポイントは次のようになります。

0, 1
0, 0
1, 0

別の L 字型のポイント セットは次のようになります。

2, 2
3, 2
3, 1
于 2013-11-08T22:10:31.610 に答える