Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private int[][] spiraleArray(int sizeY, int sizeX) {
- int c = 0;
- int[][] arr = new int[sizeY][sizeX]; //base [6][7] //u can change arr size
- int k = 0;
- int right = 0,
- down = 1,
- left = arr[0].length-2,
- up = arr.length-2;
- int limR = arr[0].length,
- limD = arr.length,
- limL = 0,
- limU = 0;
- do {
- for (int i = right; i < limR; i++) {
- arr[k][i] = c++;
- if (limR - 1 == i)
- k = i;
- }
- right++;
- limR--;
- for (int i = down; i < limD; i++) {
- arr[i][k] = c++;
- if (limD - 1 == i)
- k = i;
- }
- limD--;
- down++;
- for (int i = left; i >= limL; i--) {
- arr[k][i] = c++;
- if (limL == i)
- k = i;
- }
- left--;
- limL++;
- for (int i = up; i > limU; i--) {
- arr[i][k] = c++;
- }
- up--;
- limU++;
- k++;
- } while (arr.length % 2 == 0 ? k < arr.length/2 : k < arr.length/2+1);
- return arr;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement