zoukankan      html  css  js  c++  java
  • 微软面试题: LeetCode 36. 有效的数独 出现次数:3

    题目描述:

     代码:

           

     1 class Solution {
     2 public:
     3     bool isValidSudoku(vector<vector<char>>& board)
     4     {
     5         unordered_map<int,unordered_set<char>> r_memo;//某行的所有元素
     6         unordered_map<int,unordered_set<char>> c_memo;//某列的所有元素
     7         unordered_map<int,unordered_set<char>> t_memo;//某方格的所有元素
     8         for(int i = 0; i < 9; ++i)
     9         {
    10             for(int j = 0; j < 9; ++j)
    11             {
    12                if(board[i][j] == '.')   continue;
    13                //当前元素 在所在行是否已经出现过,出现过直接返回false
    14                if(r_memo.find(i) != r_memo.end() && r_memo[i].find(board[i][j]) != r_memo[i].end())
    15                {
    16                    return false;
    17                }
    18                r_memo[i].insert(board[i][j]);//所在行未出现过,记录到所在行的字典里
    19               //当前元素 在所在列是否已经出现过,出现过直接返回false
    20                if(c_memo.find(j) != c_memo.end() && c_memo[j].find(board[i][j]) != c_memo[j].end())
    21                {
    22                    return false;
    23                }
    24                c_memo[j].insert(board[i][j]);//所在列未出现过,记录到所在列的字典里
    25                
    26                int k = 3 * (i/3) + j/3; // 3 * x + y  根据当前元素坐标 算出所属的 九宫格序号[0,8]
    27                //当前元素 在所在九宫格是否已经出现过,出现过直接返回false
    28                if(t_memo.find(k) != t_memo.end() && t_memo[k].find(board[i][j]) != t_memo[k].end())
    29                {
    30                    return false;
    31                }
    32                t_memo[k].insert(board[i][j]);//所在九宫格未出现过,记录到所在九宫格的字典里
    33             }
    34         }
    35         return true;
    36     }
    37 };
  • 相关阅读:
    Shiro笔记(三)shiroFilter拦截器配置原则
    Shiro笔记(二)Shiro集成SpringMVC的环境配置
    Shiro笔记(一)Shiro整体介绍
    javaNIO的总结
    Redis的工作流程
    Nginx的配置安装和使用
    Linux下java开发环境配置总结
    php 基础知识 post 和get 两种传输方式的区别
    php 高级 多台web服务器共享session的方法
    php 基础知识 SESSION 和 COOKIE 的区别
  • 原文地址:https://www.cnblogs.com/wangxf2019/p/14607672.html
Copyright © 2011-2022 走看看