Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
51
Task/Spiral-matrix/Java/spiral-matrix.java
Normal file
51
Task/Spiral-matrix/Java/spiral-matrix.java
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
public class Blah {
|
||||
|
||||
public static void main(String[] args) {
|
||||
print2dArray(getSpiralArray(5));
|
||||
}
|
||||
|
||||
public static int[][] getSpiralArray(int dimension) {
|
||||
int[][] spiralArray = new int[dimension][dimension];
|
||||
|
||||
int numConcentricSquares = (int) Math.ceil((dimension) / 2.0);
|
||||
|
||||
int j;
|
||||
int sideLen = dimension;
|
||||
int currNum = 0;
|
||||
|
||||
for (int i = 0; i < numConcentricSquares; i++) {
|
||||
// do top side
|
||||
for (j = 0; j < sideLen; j++) {
|
||||
spiralArray[i][i + j] = currNum++;
|
||||
}
|
||||
|
||||
// do right side
|
||||
for (j = 1; j < sideLen; j++) {
|
||||
spiralArray[i + j][dimension - 1 - i] = currNum++;
|
||||
}
|
||||
|
||||
// do bottom side
|
||||
for (j = sideLen - 2; j > -1; j--) {
|
||||
spiralArray[dimension - 1 - i][i + j] = currNum++;
|
||||
}
|
||||
|
||||
// do left side
|
||||
for (j = sideLen - 2; j > 0; j--) {
|
||||
spiralArray[i + j][i] = currNum++;
|
||||
}
|
||||
|
||||
sideLen -= 2;
|
||||
}
|
||||
|
||||
return spiralArray;
|
||||
}
|
||||
|
||||
public static void print2dArray(int[][] array) {
|
||||
for (int[] row : array) {
|
||||
for (int elem : row) {
|
||||
System.out.printf("%3d", elem);
|
||||
}
|
||||
System.out.println();
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue