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

网站大全软件淘宝客导购网站怎么建设

网站大全软件,淘宝客导购网站怎么建设,h5如何做多页面网站,网页制作的基本知识一、题目描述 请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图…

一、题目描述

请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。

数字 1-9 在每一行只能出现一次。
数字 1-9 在每一列只能出现一次。
数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图)

注意:

  • 一个有效的数独(部分已被填充)不一定是可解的。
  • 只需要根据以上规则,验证已经填入的数字是否有效即可。
  • 空白格用 ‘.’ 表示。

二、测试用例

示例 1:

在这里插入图片描述

输入:board = 
[["5","3",".",".","7",".",".",".","."]
,["6",".",".","1","9","5",".",".","."]
,[".","9","8",".",".",".",".","6","."]
,["8",".",".",".","6",".",".",".","3"]
,["4",".",".","8",".","3",".",".","1"]
,["7",".",".",".","2",".",".",".","6"]
,[".","6",".",".",".",".","2","8","."]
,[".",".",".","4","1","9",".",".","5"]
,[".",".",".",".","8",".",".","7","9"]]
输出:true

示例 2:

输入:board = 
[["8","3",".",".","7",".",".",".","."]
,["6",".",".","1","9","5",".",".","."]
,[".","9","8",".",".",".",".","6","."]
,["8",".",".",".","6",".",".",".","3"]
,["4",".",".","8",".","3",".",".","1"]
,["7",".",".",".","2",".",".",".","6"]
,[".","6",".",".",".",".","2","8","."]
,[".",".",".","4","1","9",".",".","5"]
,[".",".",".",".","8",".",".","7","9"]]
输出:false
解释:除了第一行的第一个数字从 5 改为 8 以外,空格内其他数字均与 示例1 相同。 但由于位于左上角的 3x3 宫内有两个 8 存在, 因此这个数独是无效的。

提示:

board.length == 9
board[i].length == 9
board[i][j] 是一位数字(1-9)或者 '.'

三、解题思路

  1. 基本思路:
      一力破万法,检查是否满足数独的三个条件就可以了。
  2. 具体思路:一次遍历就可以检查三个条件,就是需要一些技巧。
    • 行唯一:判断每一行中出现的数字是否唯一 【正常遍历】
    • 列唯一:判断每一列中出现的数字是否唯一 【行列交换】
    • 九宫格唯一:判断每一个九宫格中出现的数字是否唯一 【特殊映射】

四、参考代码

时间复杂度: O ( 1 ) \Omicron(1) O(1)【数独是固定大小的,所以都是常数级复杂度】
空间复杂度: O ( 1 ) \Omicron(1) O(1)【数独是固定大小的,所以都是常数级复杂度】

class Solution {
public:bool isValidSudoku(vector<vector<char>>& board) {int n = board.size(), m = board[0].size();for (int i = 0; i < n; i++) {vector<vector<bool>> num(3, vector<bool>(m, false));for (int j = 0; j < m; j++) {  // 行唯一if (board[i][j] != '.') {if (num[0][board[i][j] - '1']) {return false;} else {num[0][board[i][j] - '1'] = true;}}if (board[j][i] != '.') {  // 列唯一if (num[1][board[j][i] - '1']) {return false;} else {num[1][board[j][i] - '1'] = true;}}int r = i / 3 * 3 + j / 3, c = (i % 3) * 3 + j % 3;if (board[r][c] != '.') {  // 九宫格唯一if (num[2][board[r][c] - '1']) {return false;} else {num[2][board[r][c] - '1'] = true;}}}}return true;}
};
http://www.yayakq.cn/news/701935/

相关文章:

  • ipv6跟做网站有关吗《设计》完整版
  • 网站后台怎么添加模板网站 aspx 模板
  • 小程序h5页面seo标题优化关键词怎么选
  • 做凸透镜成像的网站交互设计是什么意思
  • 点击网络网站一般建设网站大概需要多少钱
  • 东莞网站关键词优化效果增加清晰度的网站
  • 网站需求分析的主要内容为什么做网站备案的人态度差
  • 前端和网站开发的区别适合做推广的平台
  • windows系统怎么做ppt下载网站用什么网站可以做
  • 计算机网络技术网站开发与设计建站公司还有前途吗
  • 网站建设检查整改情况报告WordPress手机号码注册
  • 德山经济开发区建设局网站建立自己的平台网站吗
  • 怎么免费开网站深圳建站模板建站
  • 佛山做网站yunzhanfs上海羚凯网站建设
  • 专业制作开发公司网站centum wordpress
  • 西安做网站微信公司哪家好用jsp做的简单网站代码
  • 门户网站开发 南宁如何入侵网站服务器
  • 济南模板建站多少钱有没有永久免费crm
  • 迁安网站开发wordpress按钮编辑
  • 深圳搭建网站公司哪家公司建换电站
  • 建设玩外汇平台网站巩义便宜网站建设费用
  • 建设银行龙卡网站wordpress本地配置
  • 北京城建亚泰建设集团有限公司网站首页应用商城app下载
  • 网站显示建设中wordpress 自动替换
  • 广州高端品牌网站建设海尔建设网站的内容
  • 林州网站建设熊掌号甘肃省 网站建设 审批
  • 大连网站制作报价宜昌 网站建设
  • 免费发帖网站大全wordpress 徽标
  • 阿里云服务器上传网站内容学网站建设基础
  • 大姚网站建设工控软件界面设计