题解 | #暮光数独验证#
暮光数独验证
https://www.nowcoder.com/practice/68dd2d15263f433db6ffa0405d08426a
知识点:哈希表
思路:可以使用一个哈希表来存储代码,并且使用两层循环来遍历即可
编程语言:java
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param board char字符型二维数组 * @return bool布尔型 */ public boolean isValidTwilightSudoku (char[][] board) { // write code here //使用哈希表存储代码 HashSet<String> uniqueValues = new HashSet<>(); for (int row = 0; row < 9; ++row) { for (int col = 0; col < 9; ++col) { char value = board[row][col]; if (value != '.') { String rowValue = "row " + row + " " + value; String colValue = "col " + col + " " + value; String boxValue = "box " + row / 3 + '-' + col / 3 + " " + value; if (uniqueValues.contains(rowValue) || uniqueValues.contains(colValue) || uniqueValues.contains(boxValue)) { return false; } uniqueValues.add(rowValue); uniqueValues.add(colValue); uniqueValues.add(boxValue); } } } return true; } }