LeetCode 36 有效的数独

Posted Starzkg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 36 有效的数独相关的知识,希望对你有一定的参考价值。

https://leetcode-cn.com/problems/valid-sudoku/

解决方案

class Solution 
    public boolean isValidSudoku(char[][] board) 
        List<Set<Character>> list = new ArrayList<>();
        for (int i = 0; i < 27; i++) 
            list.add(new HashSet<>());
        
        for (int i = 0; i < 9; i++) 
            for (int j = 0; j < 9; j++) 
                if (board[i][j] == '.') 
                    continue;
                
                if (list.get(i).contains(board[i][j])) 
                    return false;
                
                list.get(i).add(board[i][j]);
                if (list.get(9 + j).contains(board[i][j])) 
                    return false;
                
                list.get(9 + j).add(board[i][j]);
                if (list.get(18 + i / 3 * 3 + j / 3).contains(board[i][j])) 
                    return false;
                
                list.get(18 + i / 3 * 3 + j / 3).add(board[i][j]);
            
        
        return true;
    

以上是关于LeetCode 36 有效的数独的主要内容,如果未能解决你的问题,请参考以下文章

leetcode36. 有效的数独

leetcode36. 有效的数独

leetcode题解之36. 有效的数独

LeetCode36.有效的数独 JavaScript

算法leetcode|36. 有效的数独(rust重拳出击)

Python描述 LeetCode 36. 有效的数独