我没有看到这个问题,这使其在现货需求数独,害怕一直没敢做。后来我发现原来的标题就是这么简单。推断现在只有数字全不符合的就可以了棋盘上的形势的要求。

是不是正确的三个周期。。人是不能满意地看到每一行。每列装不满意,每个小3*3的格男人不能满足孩子。每个小3*3格子我是用求得左上角的方法来验证的。

事实上认为数独难另一个原因是记得他在编程之美上出现过。。

那上面讨论的主要是如何构造一个数独。详细记不太清楚了,印象最深的是,要想保证有解,最好的办法是先用置换法生成一个解,然后去掉这个解中的一些位置。

class Solution {
public:
bool isValidSudoku(vector<vector<char> > &board) {
bool vis[10];
for(int start=0;start<9;start++){
int i = start/3, j = start%3;
memset(vis, 0, sizeof(vis));
for(int k=0;k<9;k++){
int ii=i*3+k/3, jj=j*3+k%3;
if(board[ii][jj] == '.')
continue;
if(vis[board[ii][jj]-'0'])
return false;
else
vis[board[ii][jj]-'0'] = 1;
}
}
for(int i=0;i<9;i++){
memset(vis, 0, sizeof(vis));
for(int j=0;j<9;j++){
if(board[i][j]=='.')
continue;
if(vis[board[i][j]-'0'])
return false;
vis[board[i][j]-'0'] = 1;
}
}
for(int i=0;i<9;i++){
memset(vis, 0, sizeof(vis));
for(int j=0;j<9;j++){
if(board[j][i]=='.')
continue;
if(vis[board[j][i]-'0'])
return false;
vis[board[j][i]-'0'] = 1;
}
}
return true;
}
};

版权声明:本文博主原创文章,博客,未经同意不得转载。

leetcode先刷_Valid Sudoku的更多相关文章

  1. [LeetCode] 036. Valid Sudoku (Easy) (C++)

    指数:[LeetCode] Leetcode 解决问题的指数 (C++/Java/Python/Sql) Github: https://github.com/illuz/leetcode 036. ...

  2. LeetCode:36. Valid Sudoku,数独是否有效

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

  3. [leetcode]_Valid Sudoku

    中间被启程日本的面试弄的没有静下心来复习算法.这样不好,基本功是硬道理.逐步恢复刷题. 题目:给一个数独(九宫格)中的一些数字,判断该数独是否有效. 即按照数独的规则,判断其行.列.小九格中是否有重复 ...

  4. Leetcode 笔记 36 - Sudoku Solver

    题目链接:Sudoku Solver | LeetCode OJ Write a program to solve a Sudoku puzzle by filling the empty cells ...

  5. [Leetcode][Python]37: Sudoku Solver

    # -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com' 37: Sudoku Solverhttps://oj.leetcode.co ...

  6. [LeetCode] 36. Valid Sudoku 验证数独

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

  7. LeetCode 36 Valid Sudoku

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

  8. 【leetcode】Valid Sudoku

    题目简述: Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules. The Sudoku board cou ...

  9. [leetcode]算法题目 - Sudoku Solver

    最近,新加坡总理李显龙也写了一份代码公布出来,大致瞧了一眼,竟然是解数独题的代码!前几天刚刚写过,数独主要算法当然是使用回溯法.回溯法当时初学的时候在思路上比较拧,不容易写对.写了几个回溯法的算法之后 ...

随机推荐

  1. amazeui学习笔记--css(常用组件4)--关闭按钮Close

    amazeui学习笔记--css(常用组件4)--关闭按钮Close 一.总结 1.关闭按钮基本用法:关闭按钮样式,可以结合其他不同组件使用.对 <a> 或者 <button> ...

  2. netty epoll调用示例

    1.服务器端 import io.netty.bootstrap.ServerBootstrap; import io.netty.buffer.PooledByteBufAllocator; imp ...

  3. 《ECMAScript6入门》笔记——Generator函数

    今天在看<ECMAScript6入门>的第17章——Generator函数的语法.理解起来还是有点费劲,几段代码看了很多遍.总算有点点理解了. 示例代码如下:(摘自阮一峰<ECMAS ...

  4. php 如何写一个自己项目的安装程序

    版权声明:此篇文章只是用作笔记,如果版权冲突,请邮件通知一下(15201155501@163.com) https://blog.csdn.net/shenpengchao/article/detai ...

  5. Diskpart工具应用两则:MBR/GPT分区转换 &amp; 基本/动态磁盘转换

    将基本磁盘转换为动态磁盘可直接在操作系统的磁盘管理中完毕,如图1所看到的,这一转换过程对硬盘上的数据没有影响,可是可能会影响到系统的启动(盗版系统激活会受影响). 图1:基本磁盘转换为动态磁盘 要注意 ...

  6. 等价变换(equivalent transformation)

    1. 加加减减 (x−b)n=(x−a+a−b)n=∑i=0n(ni)(x−a)i(a−b)n−i

  7. DSO Framer _ WinForm 使用

    根据自己对dsoframer控件的学习,想把dsoframer控件进行简单的包装为C#的usercontrol,大体需要作如下:(创建windows的usercontrol的步骤就不再说了...)我们 ...

  8. ASCII码的问题

    数字0在ASCII的不同进制下表示:

  9. PatentTips - SNMP firewall

    BACKGROUND OF THE INVENTION [0001] The present invention relates to communications and, more particu ...

  10. 如何搭建自己CDN服务器

    转载:http://server.zzidc.com/fwqpz/587.html 目前在免费CDN市场上,360因为“免费”而越做越大,加速乐做的很早.但因免费的节点不多,好多用户都被强走了.安全宝 ...