码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode[36]Valid Sudoku

时间:2015-02-10 15:03:51      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:

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.

#define NUM 9
class Solution {
public:
    bool isValidSudoku(vector<vector<char> > &board) {
    map<char,int> bmap;
    map<char,int> bmap1;
    map<char,int> bmap2;
    for (int i=0;i<NUM;i++)
    {
        bmap.clear();
        bmap1.clear();
        for (int j=0;j<NUM;j++)
        {
            if (board[i][j]!=.)
            {
                bmap[board[i][j]]++;
                if(bmap[board[i][j]]>1)return false;
            }
            if (board[j][i]!=.)
            {
                bmap1[board[j][i]]++;
                if (bmap1[board[j][i]]>1)return false;
            }
        }
    }
    for (int a=0;a<NUM;a+=3)
    {
        for (int b=0;b<NUM;b+=3)
        {
            bmap2.clear();
            for (int ii=a;ii<a+3;ii++)
            {
                for (int jj=b;jj<b+3;jj++)
                {
                    if (board[ii][jj]!=.)
                    {
                        bmap2[board[ii][jj]]++;
                        if (bmap2[board[ii][jj]]>1)return false;
                    }
                }
            }
        }
    }
    return true;
    }
};

 

leetcode[36]Valid Sudoku

标签:

原文地址:http://www.cnblogs.com/Vae98Scilence/p/4283595.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!