专栏首页小二的折腾日记LeetCode-36-Valid-Sudoku

LeetCode-36-Valid-Sudoku

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;这里可以直接得到斜对角的元素。

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 牛客网-剑指offer-2

    二叉树是觉得很烦的东西了,比链表复杂很多,看着头都有点疼啊,但是没办法,生活就是这样,只有把不会的会了才会进步,怕的变得不怕才能越来越厉害。 常规的理解一下:二...

    小二三不乌
  • 牛客网-剑指offer-3

    这样出现的问题主要是在递归的过程中会出现很多重复的计算,比如我们每次计算第n个的时候,都需要重新计算前面的n-1和n-2,这样每个值其实都会被计算两遍。简单的处...

    小二三不乌
  • day5(面向对象2)

    该类不是算是IO体系中子类,而是继承自Object。 但是它是IO包中的成员,因为它具备读和写功能。颞部封装了一个数组,而且通过指针对数组的元素进行操作。 可以...

    小二三不乌
  • PowerBI公式-All函数

    通过上一节,我们了解到Calculate可以对初始筛选上下文增删改生成新的筛选上下文,增删改的含义如下图所示,增加即在原有基础上加入新的筛选条件缩小上下文,更改...

    公众号PowerBI大师
  • 移动端弹性布局方案lib-flexible实践

    2个月前,写过一篇文章《从网易与淘宝的font-size思考前端设计稿与工作流》总结过一些移动web中有关手机适配的一些思路,当时也是因为工作的关系分析了下网易...

    用户1174387
  • 源码分析— java读写锁ReentrantReadWriteLock

    今天看Jraft的时候发现了很多地方都用到了读写锁,所以心血来潮想要分析以下读写锁是怎么实现的。

    luozhiyun
  • 任性的苹果,任性的库克

    或许在人类历史上还没有哪一个科技公司会像苹果般任性,任性到可以不顾及用户的感受。随着苹果发布会的新鲜“上线”,我们再次见识到了苹果的任性。价格再度刷新史上最高、...

    孟永辉
  • 每天一道剑指offer-滑动窗口的最大值

    给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,...

    乔戈里
  • 大话 Select、Poll、Epoll

    提到select、poll、epoll相信大家都耳熟能详了,三个都是IO多路复用的机制,可以监视多个描述符的读/写等事件。

    黄日成
  • 大数据玩的多了,这些错误你依然无法迈过

    David Nettleton是《商业数据挖掘:为预测分析项目处理,分析和建模》一书的作者,他还是一位在数据分析处理方面有丰富经验的顾问和学术研究者。 Q:您认...

    BestSDK

扫码关注云+社区

领取腾讯云代金券