Advertisement
Guest User

Untitled

a guest
Oct 15th, 2019
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.30 KB | None | 0 0
  1. private int[][] spiraleArray(int sizeY, int sizeX) {
  2.         int c = 0;
  3.         int[][] arr = new int[sizeY][sizeX]; //base [6][7] //u can change arr size
  4.         int k = 0;
  5.         int right = 0,
  6.                 down = 1,
  7.                 left = arr[0].length-2,
  8.                 up = arr.length-2;
  9.  
  10.         int limR = arr[0].length,
  11.                 limD = arr.length,
  12.                 limL = 0,
  13.                 limU = 0;
  14.  
  15.         do {
  16.  
  17.             for (int i = right; i < limR; i++) {
  18.                 arr[k][i] = c++;
  19.                 if (limR - 1 == i)
  20.                     k = i;
  21.             }
  22.             right++;
  23.             limR--;
  24.  
  25.             for (int i = down; i < limD; i++) {
  26.                 arr[i][k] = c++;
  27.                 if (limD - 1 == i)
  28.                     k = i;
  29.             }
  30.             limD--;
  31.             down++;
  32.             for (int i = left; i >= limL; i--) {
  33.                 arr[k][i] = c++;
  34.                 if (limL == i)
  35.                     k = i;
  36.             }
  37.             left--;
  38.             limL++;
  39.  
  40.             for (int i = up; i > limU; i--) {
  41.                 arr[i][k] = c++;
  42.             }
  43.             up--;
  44.             limU++;
  45.             k++;
  46.  
  47.         } while (arr.length % 2 == 0 ? k < arr.length/2 : k < arr.length/2+1);
  48.  
  49.         return arr;
  50.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement