前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LeetCode-36-Valid-Sudoku

LeetCode-36-Valid-Sudoku

作者头像
小二三不乌
发布2018-08-07 17:33:35
3590
发布2018-08-07 17:33:35
举报

LeetCode-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 ‘.’.

判断一个二维数组是不是数独数组。要求是:同行同列,斜对角不能有相同的数组,这里需要定义三个数组,当然参考了一下讨论区一个大神的代码。采用行列,竖列和斜列。其中比较惊艳的是k=i/3*3+j/3;这里可以直接得到斜对角的元素。

代码语言:javascript
复制
class Solution {
public:
    bool isValidSudoku(vector<vector<char>>& board) {
        int used1[9][9]={0},used2[9][9]={0},used3[9][9]={0};
        for(int i=0;i<board.size();++i){
            for(int j=0;j<board[i].size();++j){
                if(board[i][j]!='.'){
                    int num=board[i][j]-'0'-1,k=i/3*3+j/3;
                    if(used1[i][num]||used2[j][num]||used3[k][num])
                        return false;
                    used1[i][num]=used2[j][num]=used3[k][num]=1;
                }
            }
        }
        return true;
    }
};
reference:

http://blog.csdn.net/u012050154/article/details/51541380

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-01-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • LeetCode-36-Valid-Sudoku
    • reference:
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档