Двумерная матрица N * N является квадратной матрицей
Идея:
Мы должны проходить в четырех разных направлениях, чтобы пересечь как спираль. Мы должны пересечь внутреннюю матрицу после того, как закончится один слой спирали. Итак, всего, нам нужно 5 петель, 4 петли для прохождения по спирали и 1 петля для прохождения через слои.
public void printSpiralForm(int[][] a, int length)
{
for( int i = 0 , j = length-1 ; i < j ; i++ , j-- )
{
for( int k = i ; k < j ; k++ )
{
System.out.print( a[i][k] + " " ) ;
}
for( int k = i ; k < j ; k++ )
{
System.out.print(a[k][j] + " ");
}
for( int k = j ; k > i ; k-- )
{
System.out.print(a[j][k] + " ") ;
}
for( int k = j ; k > i ; k-- )
{
System.out.print( a[k][i] + " " ) ;
}
}
if ( length % 2 == 1 )
{
System.out.println( a[ length/2 ][ length/2 ] ) ;
}
}
Существует множество ресурсов, а библиотека json org проста в использовании.
Вы можете найти больше ПРИМЕРОВ здесь
JSONParser parser = new JSONParser();
Object parsedObject = parser.parse(jsonStr);
JSONObject jsonObject = (JSONObject) parsedObject;
JSONArray layers = (JSONArray) jsonObject.get("layers");
JSONObject data = (JSONObject) layers.get(0);
JSONArray mapData = (JSONArray) data.get("data");
int[] mapTile = new int[mapData.size()];
for (int i = 0; i < mapData.size(); i++) {
mapTile[i] = ((Long)mapData.get(i)).intValue();
}
data = (JSONObject) layers.get(1);
JSONArray objectData = (JSONArray) data.get("data");
int[] objectTile = new int[objectData.size()];
for (int i = 0; i < objectData.size(); i++) {
objectTile[i] = ((Long)objectData.get(i)).intValue();
}
System.out.println(Arrays.toString(mapTile));
System.out.println(Arrays.toString(objectTile));