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. 名前が与えられたインスタンス変数の値を取得
- 7. 与えられたものからハッシュセットを取得する -
- 8. Scalaのキーのリストを与えられたマップからの値の取得
- 9. 与えられた値のpyodbc行を取り出す方法
- 10. jQuery DataTables - 与えられた行のページを取得する
- 11. 与えられたクエリの行数を取得するには?
- 12. 与えられた行のピクセル座標を取得する
- 13. 与えられた値
- 14. LinqToXML:与えられた値
- 15. トラブル与えられた値
- 16. Numpy:テンソル与えられたインデックスのリストから行列を得る
- 17. Pythonで与えられた数列から得られる定数部分列
- 18. 行と列番号が与えられたセルの内容を取得
- 19. 与えられたフォーマットの2Dマトリックスを印刷する
- 20. 与えられたテーブルから燃料の詰め替え時間を取得
- 21. 配列から与えられた数値の和をとるアルゴリズムを取得する
- 22. 配列が与えられているトップレベルオブジェクト内に存在するオブジェクト配列から取得した値のフラット配列を取得します
- 23. 与えられた複数のセルの値と一致するhtmlテーブルから行番号を取得
- 24. 与えられた数字から数値書式とロケール文字列を取得するには?
- 25. Magentoは与えられたページのレイアウトを取得します
- 26. Javascript:与えられた値から配列比率を計算します
- 27. PHP:与えられた文字列からサブ文字列を取り出す
- 28. 与えられたストライド/ stepsizeでnumpy配列からサブ配列を取る
- 29. Rubyで与えられた日付の与えられた時刻を表すTimeオブジェクトを取得する
- 30. 与えられた文字列から行列を生成する
はい、可能です。それを試してみて、あなたの努力を元に戻ってください:-) – Mubin
試しても機能していない場合は、コードを共有してください。 – denis
私はそれに取り組んでいるコードはありません。 – Athavan