それは私の理解するための画像マトリックス:与えられた行列から値を取得し
0
A
答えて
1
以下ごとに、問題はの指標を計算し、次のヘルパー関数を解くことができる行列の値を印刷することが可能です次のエントリ。構文はC#ですが、Javaで同様に動作するはずです。m
とn
がそれぞれの行列次元であると考えられます。考え方は、所望の主方向が左下か右上かをチェックすることです。事前にチェックしなければならない行列の端に達した場合、これはそれぞれ右と下に変更されます。この実装では、行と列のゼロベースのインデックス作成を前提としています。
public struct Cell
{
public int Row;
public int Col;
}
public static Cell GetNext(Cell iCell)
{
Cell Result;
if ((iCell.Row + iCell.Col) % 2 == 0)
{
if (iCell.Col == n - 1)
Result = new Cell { Row = iCell.Row + 1, Col = n - 1 };
else if (iCell.Row == 0)
Result = new Cell { Row = 0, Col = iCell.Col + 1 };
else
Result = new Cell { Row = iCell.Row - 1, Col = iCell.Col + 1 };
}
else
{
if (iCell.Row == m - 1)
Result = new Cell { Row = m - 1, Col = iCell.Col + 1 };
else if (iCell.Col == 0)
Result = new Cell { Row = iCell.Row + 1, Col = 0 };
else
Result = new Cell { Row = iCell.Row + 1, Col = iCell.Col - 1 };
}
return Result;
}
0
個人的には、@コーダーのアプローチがもっと好きです。私はこのJava関数をミックスにも投げると思っていました。
[注:私はこれをコンパイルまたは実行していません。しかし、私はそれが(ほとんど)動作するはずだと思います。お知らせ下さい。 :)]
public static int[] getTraversedArray(int[][] arr) {
if (arr == null || arr.length == 0)
return null;
# matrix need not be `nxn`
int l = arr.length - 1, w = arr[0].length - 1;
# all indices need to be visited
int[] out = new int[(l + 1) * (w + 1)];
int indx = 0;
for (int i = 0; i <= l + w; i++) {
# "even" index
if (i % 2 == 0) {
for (int x = i; x >= 0; x--) {
# if it is a "valid index", set the value
# in the output array
if ((x <= l) && (i - x <= w)) {
out[indx] = arr[x][i - x];
indx++;
}
}
}
# "odd" index
else {
for (int x = 0; x <= i; x++) {
# if it is a "valid index", set the value
# in the output array
if ((x <= l) && (i - x <= w)) {
out[indx] = arr[x][i - x];
indx++;
}
}
}
}
return out;
}
関連する問題
- 1. カウントNo。マトリックスから与えられた制約を持つ部分行列の?
- 2. 与えられた対称疎行列からCSR形式を取得する
- 3. 与えられたファイルサイズを取得
- 4. マトリックスからユニークな値を取得
- 5. 名前が与えられたインスタンス変数の値を取得
- 6. Scalaのキーのリストを与えられたマップからの値の取得
- 7. 与えられたものからハッシュセットを取得する -
- 8. jQuery DataTables - 与えられた行のページを取得する
- 9. 与えられたクエリの行数を取得するには?
- 10. LinqToXML:与えられた値
- 11. トラブル与えられた値
- 12. Numpy:テンソル与えられたインデックスのリストから行列を得る
- 13. 行と列番号が与えられたセルの内容を取得
- 14. Pythonで与えられた数列から得られる定数部分列
- 15. 与えられたテーブルから燃料の詰め替え時間を取得
- 16. 与えられた数字から数値書式とロケール文字列を取得するには?
- 17. Magentoは与えられたページのレイアウトを取得します
- 18. 与えられたストライド/ stepsizeでnumpy配列からサブ配列を取る
- 19. PHP:与えられた文字列からサブ文字列を取り出す
- 20. 与えられた文字列から行列を生成する
- 21. Rubyで与えられた日付の与えられた時刻を表すTimeオブジェクトを取得する
- 22. 例えば、整数のジャグ配列与えられた値
- 23. パンダのデータフレームから与えられた価値を得るには?
- 24. Wikipediaからページタイトルを与えられたカテゴリのリストを取得するSQLクエリ
- 25. その値が与えられた数
- 26. Bash Script - UIDを与えられたユーザ名を取得
- 27. 与えられた間隔からdjango querysetのオブジェクトを取得する
- 28. 与えられた開始年からの年のリストを取得する
- 29. 与えられたジェネリック型のクラスのコンパニオンオブジェクトを取得する
- 30. 与えられたディレクトリのファイル名を取得するjQuery
はい、可能です。それを試してみて、あなたの努力を元に戻ってください:-) – Mubin
試しても機能していない場合は、コードを共有してください。 – denis
私はそれに取り組んでいるコードはありません。 – Athavan