Solved FillDiags
This commit is contained in:
63
src/main/java/com/algos/stepik/FillDiags.java
Normal file
63
src/main/java/com/algos/stepik/FillDiags.java
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
package com.algos.stepik;
|
||||||
|
|
||||||
|
//У вас есть переменная n, которая содержит входные пользовательские данные.
|
||||||
|
//
|
||||||
|
// Напишите код, который создает двумерный список и заполняет его по следующему правилу: на главной диагонали должны быть записаны числа 0. На двух диагоналях, прилегающих к главной, числа 1. На следующих двух диагоналях числа 2, и т.д.
|
||||||
|
//
|
||||||
|
// Результат записать в виде нового списка в переменную result.
|
||||||
|
//
|
||||||
|
// Например:
|
||||||
|
//
|
||||||
|
// Если n = 4 тогда:
|
||||||
|
//
|
||||||
|
// [
|
||||||
|
// [ 0, 1, 2, 3 ],
|
||||||
|
// [ 1, 0, 1, 2 ],
|
||||||
|
// [ 2, 1, 0, 1 ],
|
||||||
|
// [ 3, 2, 1, 0 ]
|
||||||
|
// ]
|
||||||
|
//
|
||||||
|
// Если n = 5 тогда:
|
||||||
|
//
|
||||||
|
// [
|
||||||
|
// [ 0, 1, 2, 3, 4 ],
|
||||||
|
// [ 1, 0, 1, 2, 3 ],
|
||||||
|
// [ 2, 1, 0, 1, 2 ],
|
||||||
|
// [ 3, 2, 1, 0, 1 ],
|
||||||
|
// [ 4, 3, 2, 1, 0 ]
|
||||||
|
// ]
|
||||||
|
|
||||||
|
import com.google.gson.Gson;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
public class FillDiags {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
//int n = readInput();
|
||||||
|
int n = 5;
|
||||||
|
List<List<Integer>> result = fillDiagonalList(n);
|
||||||
|
|
||||||
|
System.out.println(new Gson().toJson(result));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<List<Integer>> fillDiagonalList(int n) {
|
||||||
|
|
||||||
|
List<List<Integer>> result = new ArrayList<>();
|
||||||
|
|
||||||
|
for (int i = 0; i < n; i++) {
|
||||||
|
List<Integer> row = new ArrayList<>();
|
||||||
|
for (int j = 0; j < n; j++) {
|
||||||
|
row.add(Math.abs(i - j));
|
||||||
|
}
|
||||||
|
result.add(row);
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int readInput() {
|
||||||
|
Scanner scanner = new Scanner(System.in);
|
||||||
|
return Integer.parseInt(scanner.nextLine().trim());
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user