• leetcode : Valid Sudoku


    Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules.

    The Sudoku board could be partially filled, where empty cells are filled with the character '.'.

     

    A partially filled sudoku which is valid.

     

    Note:

    A valid Sudoku board (partially filled) is not necessarily solvable. Only the filled cells need to be validated.

     

    tag :  HashSet 、  add 操作 及返回值。  

    if(board[i][j] != '.' && !rows.add(board[i][j])) {
    return false;
    }

    此行代码: 先做了添加操作,再返回的值,所以 二者合一。

    另外:  而为矩阵的行列转换技巧  除法和求余数

    public class Solution {
        public boolean isValidSudoku(char[][] board) {
            
            for(int i = 0; i < 9 ;i++) {
                HashSet<Character> rows = new HashSet<Character>();
                HashSet<Character> cols = new HashSet<Character>();
                HashSet<Character> cube = new HashSet<Character>();
                
                for(int j = 0; j < 9; j++) {
                    //row
                    if(board[i][j] != '.' && !rows.add(board[i][j])) {
                        return false;
                    }
                    if(board[j][i] != '.' && !cols.add(board[j][i])) {
                        return false;
                    }
                    int row = 3*(i/3);
                    int col = 3*(i%3);
                     if(board[row + j/3][col + j%3]!='.' && !cube.add(board[row + j/3][col + j%3]))
                    return false;
                }
            }
            return true;
        }
    }
    

      

     

  • 相关阅读:
    笔记
    BlangenOA项目展示(附源码)
    笔记截至20190406
    ASP.NET MVC 使用过滤器需要注意
    单例模式和HttpContext线程内唯一
    C#线程/进程同步(lock、Mutex、Semaphore)
    Web标准
    JavaScript 放置在文档最后面可以使页面加载速度更快
    GUI 面板实现 (解决了关闭事件)
    GUI 实现多个窗口 (使用封装特性)
  • 原文地址:https://www.cnblogs.com/superzhaochao/p/6422281.html
Copyright © 2020-2023  润新知