Встречается на собеседованиях • сегодня
Как бы создал сервис для проверки правильности результатов судоку
Для создания сервиса проверки судоку можно использовать следующий подход:
1. Проверка размера сетки (9x9)
2. Проверка каждой строки, столбца и подквадрата 3x3 на уникальность чисел от 1 до 9
Пример реализации на Java:
```java
public class SudokuValidator {
public static boolean isValid(int[][] board) {
// Проверка строк и столбцов
for (int i = 0; i < 9; i++) {
Set row = new HashSet<>();
Set col = new HashSet<>();
for (int j = 0; j < 9; j++) {
if (board[i][j] < 1 || board[i][j] > 9 || !row.add(board[i][j]))
return false;
if (board[j][i] < 1 || board[j][i] > 9 || !col.add(board[j][i]))
return false;
}
}
// Проверка подквадратов 3x3
for (int block = 0; block < 9; block++) {
Set set = new HashSet<>();
for (int i = block / 3 * 3; i < block / 3 * 3 + 3; i++) {
for (int j = block % 3 * 3; j < block % 3 * 3 + 3; j++) {
if (!set.add(board[i][j])) return false;
}
}
}
return true;
}
}
```
Сервис можно расширить для обработки разных форматов ввода (CSV, JSON) и добавить REST API с использованием Spring Boot. Для больших сеток можно оптимизировать проверку, используя битовые маски вместо HashSet.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы