leetcode 36

时间:2022-03-24 18:48:57

36. 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 '.'.

leetcode 36

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.

判断数独是否有效,即每一行数不能重复,每一列数不能重复,每个9宫格数不能重复。

思路比较简单,但在实现的过程中遇到一些麻烦。刚开始用最简单的比较法来判断数是否重复,结果运行时间超时。

后采用map容器,大大减少了判断重复的时间。

代码如下:

 class Solution {
public:
bool isValidSudoku(vector<vector<char>>& board) {
int i,j,k,l,map[];
if(board.size()!= || board[].size()!=)
{
return false;
}
for(i=;i<;i++){
memset(map,,sizeof(map));
for(j=;j<;j++){
if(board[i][j]=='.')
{
continue;
}
if(board[i][j]<'' || board[i][j]>'')
{
return false;
}
int num=board[i][j]-'';
if(map[num])
{
return false;
}
map[num]=;
}
}
for(j=;j<;j++){
memset(map,,sizeof(map));
for(i=;i<;i++){
if(board[i][j]=='.')
{
continue;
}
int num=board[i][j]-'';
if(map[num])
{
return false;
}
map[num]=;
}
}
for(i=;i<;i+=){
for(j=;j<;j+=){
memset(map,,sizeof(map));
for(k=i;k<i+;k++){
for(l=j;l<j+;l++){
if(board[k][l]=='.')
{
continue;
}
int num=board[k][l]-'';
if(map[num])
{
return false;
}
map[num]=;
}
}
}
}
return true;
}
};

leetcode 36的更多相关文章

  1. LeetCode&colon;36&period; Valid Sudoku,数独是否有效

    LeetCode:36. Valid Sudoku,数独是否有效 : 题目: LeetCode:36. Valid Sudoku 描述: Determine if a Sudoku is valid, ...

  2. 前端与算法 leetcode 36&period; 有效的数独

    目录 # 前端与算法 leetcode 36. 有效的数独 题目描述 概要 提示 解析 算法 传入[['5', '3', '.', '.', '7', '.', '.', '.', '.'],['6' ...

  3. leetcode 36 有效的数独 哈希表 unordered&lowbar;set unordersd&lowbar;map 保存状态 leetcode 37 解数独

    leetcode 36 感觉就是遍历. 保存好状态,就是各行各列还有各分区divide的情况 用数组做. 空间小时间大 class Solution { public: bool isValidSud ...

  4. &lbrack;LeetCode&rsqb; 36&period; Valid Sudoku 验证数独

    Determine if a 9x9 Sudoku board is valid. Only the filled cells need to be validated according to th ...

  5. Java实现 LeetCode 36 有效的数独

    36. 有效的数独 判断一个 9x9 的数独是否有效.只需要根据以下规则,验证已经填入的数字是否有效即可. 数字 1-9 在每一行只能出现一次. 数字 1-9 在每一列只能出现一次. 数字 1-9 在 ...

  6. leetcode&commat; &lbrack;36&sol;37&rsqb; Valid Sudoku &sol; Sudoku Solver

    https://leetcode.com/problems/valid-sudoku/ Determine if a Sudoku is valid, according to: Sudoku Puz ...

  7. LeetCode 36 Valid Sudoku(合法的数独)

    题目链接: https://leetcode.com/problems/valid-sudoku/?tab=Description   给出一个二维数组,数组大小为数独的大小,即9*9  其中,未填入 ...

  8. &lbrack;leetcode&rsqb; 36&period; 有效的数独&lpar;Java&rpar;

    没啥好说的,直接上就行 36. 有效的数独 class Solution { public boolean isValidSudoku(char[][] board) { Map<Charact ...

  9. LeetCode 36 Valid Sudoku

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

随机推荐

  1. poj 2955 Brackets

    题目链接:http://poj.org/problem?id=2955 思路:括号匹配问题,求出所给序列中最长的可以匹配的长度(中间可以存在不匹配的)例如[(])]有[()]符合条件,长度为4 dp[ ...

  2. SQL中的OpenXML使用

    DECLARE @idoc int ) SET @doc =' <ROOT> <Customer CustomerID="VINET" ContactName=& ...

  3. 从客户端&lpar;CourseIssueContent&equals;&quot&semi;&lt&semi;P&gt&semi;财务审计师岗位认证招生简章&lt&semi;BR&gt&semi;&period;&period;&period;&quot&semi;&rpar;中检测到有潜在危险的 Request&period;Form 值。

    说明: 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止.该值可能指示危及应用程序安全的尝试,如跨站点的脚本攻击.通过在 Page 指令或 配置节中设置 validateRequest ...

  4. ACM&colon; 限时训练题解-Heavy Coins-枚举子集-暴力枚举

    Heavy Coins   Bahosain has a lot of coins in his pocket. These coins are really heavy, so he always ...

  5. 学习mongo系列(六)limit&lpar;munber&rpar;&comma;skip&lpar;number&rpar;

    > db.user.find().pretty(){ "_id" : ObjectId("56946fba3a18f4867aecbcd1"), &quo ...

  6. jQuery tab plugin

    /* www.keleyi.com/ */ ; (function ($) { $.fn.extend({ Tabs: function (options) { // 处理参数 options = $ ...

  7. css让一个正方形方块垂直居中

    这里有top和margin-top的区别,top(left,right,bottom)是绝对定位,要用position,margin-top是相对定位,相对于相邻的元素或者父元素. 代码如下: &lt ...

  8. linux 标准输入输出

    文件描述符是一个简单的正整数,用以标明每一个被进程所打开的文件和socket.最前面的三个文件描述符(0,1,2)分别与标准输入(stdin),标准输出(stdout)和标准错误(stderr)对应 ...

  9. hive 配置文件以及join中null值的处理

    一.Hive的參数设置 1.  三种设定方式:配置文件 ·   用户自己定义配置文件:$HIVE_CONF_DIR/hive-site.xml ·   默认配置文件:$HIVE_CONF_DIR/hi ...

  10. 【转】Django HTTP请求的处理流程

    Django 和其他 Web 框架的 HTTP 处理的流程大致相同,Django 处理一个 Request 的过程是首先通过中间件,然后再通过默认的 URL 方式进行的.我们可以在 Middlewar ...