当前位置: 首页 > news >正文

leetcode 36 有效的数独

目录

一、题目描述

二、解题思路

整体思路

具体思路

(1)有效的数独的判断条件(需要同时满足)

(2)转化为代码判断

(3)函数思路

三、代码实现

一、题目描述

二、解题思路

整体思路

可以借鉴哈希表的思想来模拟判断数独的合法性。

具体思路

(1)有效的数独的判断条件(需要同时满足)

<1>字符'1'到'9'在每一行只能出现一次;

<2>字符'1'到'9'在每一列只能出现一次;

<3>字符'1'到'9'在每一个以粗实线分隔的3*3宫内只能出现一次。

(2)转化为代码判断

<1>字符'1'到'9'在每一行只能出现一次。可以引入bool数组Row[9][9],Row[row][c-'a']表示第row行是否出现字符c,如果出现了c,即为true,否则就为false;

<2>字符'1'到'9'在每一列只能出现一次。可以引入bool数组Col[9][9],Col[col][c-'a']表示第col列是否出现字符c,如果出现了c,即为true,否则就为false;

<3>字符'1'到'9'在每一个以粗实线分隔的3*3宫内只能出现一次。可以引入bool数组grid[3][3][9],grid[row/3][col/3][c-'a']表示第row/3行,第col/3列的3*3宫格中是否出现了字符c,如果出现了c,即为true,否则就为false;

1)划分3*3宫格:

grid[0][0]表示第0行,第0列的3*3宫格,经过观察我们发现:

表示第0行,第0列的3*3宫格内的所有位置其row/3==0且col/3==0,可以依照这个规律将9*9宫格进行分组。

2)在每个3*3宫格内进行判断:

grid[row/3][col/3][c-'a']表示第row/3行,第col/3列的3*3宫格中是否出现了字符c,如果出现了c,即为true,否则就为false。

(3)函数思路

遍历board二维数组,如果当前位置为数字字符,就进行合法性判断(Col、Row、grid):

<1>如果合法,就将对应的Col、Row、grid值修改为true;

<2>如果不合法,表示这不是一个合法的数独,直接返回false;

最后,如果遍历完成,均合法,则返回true,表示这个数独是合法的。

三、代码实现

class Solution {bool Row[9][9]={false};bool Col[9][9]={false};bool grid[3][3][9]={false};
public:bool isValidSudoku(vector<vector<char>>& board) {for(int row=0;row<9;row++)for(int col=0;col<9;col++){char c=board[row][col];if(c!='.'){if(Row[row][c-'1']||Col[col][c-'1']||grid[row/3][col/3][c-'1'])return false;else{Row[row][c-'1']=true;Col[col][c-'1']=true;grid[row/3][col/3][c-'1']=true;}}}return true;}
};

http://www.dtcms.com/a/443012.html

相关文章:

  • 使用hhblits进行序列比对
  • 网站域名过期杭州网站建设哪家公司好
  • 桂林北站是哪个区wordpress 免费企业网站 模板下载
  • 逻辑门可以实现数学运算,逻辑思维与数学思维谁更基本
  • [光学原理与应用-484]:《中安DF-300S技术规格书》
  • 做的比较好的卡车网站威县做网站哪儿好
  • 安阳网站建设哪家正规温州建设小学网站首页
  • 如何做律师网站响应式网站模板html5
  • 永嘉网站建设域名年费价格表
  • 网站开发的功能需求怎么写学院网站建设管理规章制度
  • 响应式网站好处公司网站建设情况说明
  • Java 21 发行说明总结
  • 北京社保网上服务平台官网trinseo公司
  • 俄文网站制作要制作网站
  • 龙岗网站建设定制开发整合营销传播的效果表现为
  • 资兴市住房和城乡建设局网站网页制作素材动物
  • 网站经营方案 备案网站建设都需要哪些材料
  • 开网站是干什么的沈阳企业免费建站
  • 盐城网站设计公司网站如何推广运营
  • 做消防哪些网站找工作免费咨询医生回答在线
  • 运城网站建设费用苏州建设工程招标官方网站
  • tk域名网站想在百度上做网站
  • 安平网站建设优化推广策略的概念
  • 贵州省建设厅建筑质监站网站北京网站建设公司案例
  • 《网络爬虫技术规范与应用指南系列》(xc—3):合规实操与场景落地
  • intel安装pytorch
  • seo网站排名优化公司哪家好wordpress手机导航三横拦
  • Doris专题2- 表类型
  • 网站未来发展规划电子商务网站建设卷子
  • Linux中文件的链接(硬链接和软连接)