| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 
 | package com.demo.s36;
 import java.util.HashMap;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 public class Solution {
 public boolean isValidSudoku(char[][] board) {
 
 HashMap<Integer, Integer> [] rows = new HashMap[9];
 HashMap<Integer, Integer> [] columns = new HashMap[9];
 HashMap<Integer, Integer> [] boxes = new HashMap[9];
 for (int i = 0; i < 9; i++) {
 rows[i] = new HashMap<Integer, Integer>();
 columns[i] = new HashMap<Integer, Integer>();
 boxes[i] = new HashMap<Integer, Integer>();
 }
 
 
 for (int i = 0; i < 9; i++) {
 for (int j = 0; j < 9; j++) {
 char num = board[i][j];
 if (num != '.') {
 int n = (int)num;
 int box_index = (i / 3 ) * 3 + j / 3;
 
 
 rows[i].put(n, rows[i].getOrDefault(n, 0) + 1);
 columns[j].put(n, columns[j].getOrDefault(n, 0) + 1);
 boxes[box_index].put(n, boxes[box_index].getOrDefault(n, 0) + 1);
 
 
 if (rows[i].get(n) > 1 || columns[j].get(n) > 1 || boxes[box_index].get(n) > 1)
 return false;
 }
 }
 }
 
 return true;
 
 }
 }
 
 |