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

动漫设计专业好就业吗深圳网站优化软件

动漫设计专业好就业吗,深圳网站优化软件,广州官方网站建设,wordpress指定上传目录一,有效的数独 1.题意 请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。&#x…

一,有效的数独

1.题意

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

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

注意:

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

2.解释

有效的数独这道题的其实是不需要用到递归的。这道题其实就是一个判断题,要保证的的便是再一个9*9大小的二维数组里1~9这九个数字在每一行每一列每一个九宫格里面只出现了一次。如以下例子:

黑实线分割开的就是一个九宫格。这个数独的每一行每一列出现的数据都是唯一的,所以这个数独是有效的。

3.题目接口

class Solution {
public:bool isValidSudoku(vector<vector<char>>& board) {}
};

4.解题思路及代码

要解决这道题,我们首先就需要三个数组。这三个数组记录的便是我们是否在某一行,某一列,某一个九宫格里面是否又出现过某一个数字。在遍历过程中若出现了某一个数字便将这一行,这一列,这一个九宫格的第出现的数字的这一个位置标记为true。下次如果还会遍历同样的数字便返回false。如下代码:

class Solution {
public:bool row[9][10];bool col[9][10];bool grid[3][3][10];bool isValidSudoku(vector<vector<char>>& board) {for(int i = 0;i<9;i++){for(int j = 0;j<9;j++){if(board[i][j]!='.')//当遍历到的数据不是'.'时便可以进入判断{int num = board[i][j]-'0';//将字符转换为数字if(row[i][num]||col[j][num]||grid[i/3][j/3][num])//当这个数字在行,列,九宫格任何一个位置上出现时便可以返回false{return false;}row[i][num] = col[j][num] = grid[i/3][j/3][num] = true;//遍历过后将这一行这一列这个九宫格上的这个数字记录下来}}}return true;}
};

在这里大家可能比较疑惑的便是grid[i/3][j/3][num]了。其实这里便是将九宫格坐标化了,当行数和列数都在1~3时对标的便是下标0,4~6对标的便是下标1,6~8对标的便是下标2。在一个9*9的格子里面有九个九宫格,按照上面的分法下标分别是(0,0),(0,1),(0,2),(1,0),(1,1),(1,2),(2,0),(2,1),(2,2)。

二,解数独

1.题意

编写一个程序,通过填充空格来解决数独问题。

数独的解法需 遵循如下规则

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

数独部分空格内已填入了数字,空白格用 '.' 表示。

2.解释

这一道题便是让我们来填入数字来解决数独问题了。上面的有效的数独不需要用到递归的方式来解决但是这道题便要使用递归来解决了。

3.题目接口

class Solution {
public:void solveSudoku(vector<vector<char>>& board) {}
};

4.解题思路及代码

先将代码写出再来解释,代码:

class Solution {
public:bool row[9][10];bool col[9][10];bool grid[3][3][10];void solveSudoku(vector<vector<char>>& board) {for(int i = 0;i<9;i++)//先将数独里面出现的数字标记下来{for(int j = 0;j<9;j++){if(board[i][j]!='.'){int num = board[i][j]-'0';row[i][num] = col[j][num] = grid[i/3][j/3][num] = true;}}}  dfs(board); }bool dfs(vector<vector<char>>&board){for(int i = 0;i<9;i++){for(int j = 0;j<9;j++){if(board[i][j] == '.'){for(int num = 1;num<=9;num++){if(!row[i][num]&&!col[j][num]&&!grid[i/3][j/3][num]){board[i][j] = num+'0';row[i][num] = col[j][num] = grid[i/3][j/3][num] = true;if(dfs(board)) return true;board[i][j] = '.';//当走到这里时便是因为这一层填的数字的不到结果所以要将这个位置的值改回'.'标记改为false。row[i][num] = col[j][num] = grid[i/3][j/3][num] = false;}}return false;//当遍历到的这一个格子九个数字都不能填时便返回false调整上一层的值}}}return true;}
};

在这一道题里面最让人难以理解的便是没有递归出口,因为递归必须要有出口才能返回到上一层。但是这道题的代码里面似乎没有是吧。其实不是的,这道题只是没有显示的写出递归出口。它是使用两个for循环来隐式的作为递归出口了,当一个棋盘被遍历完了以后或者不能得到结果时便会返回到上一层重新操作。


文章转载自:
http://dinncosurveil.tqpr.cn
http://dinncochestnut.tqpr.cn
http://dinncosuccussatory.tqpr.cn
http://dinncometronymic.tqpr.cn
http://dinncoimmalleable.tqpr.cn
http://dinncofurious.tqpr.cn
http://dinncoemanative.tqpr.cn
http://dinncochoreopoem.tqpr.cn
http://dinncoepicrisis.tqpr.cn
http://dinncocommix.tqpr.cn
http://dinncostylite.tqpr.cn
http://dinncoadvantageous.tqpr.cn
http://dinncodulcimer.tqpr.cn
http://dinncolargeness.tqpr.cn
http://dinncoracism.tqpr.cn
http://dinncohmnzs.tqpr.cn
http://dinncobootleg.tqpr.cn
http://dinncodamosel.tqpr.cn
http://dinncomininuke.tqpr.cn
http://dinncospecialize.tqpr.cn
http://dinncoribbonman.tqpr.cn
http://dinncocalomel.tqpr.cn
http://dinncofeelingless.tqpr.cn
http://dinncounsympathizing.tqpr.cn
http://dinncoinextenso.tqpr.cn
http://dinncoskean.tqpr.cn
http://dinncodemonolatry.tqpr.cn
http://dinncobovid.tqpr.cn
http://dinncomisappropriate.tqpr.cn
http://dinncodaqing.tqpr.cn
http://dinncopaperwork.tqpr.cn
http://dinncohelicity.tqpr.cn
http://dinncoposttranscriptional.tqpr.cn
http://dinncoasin.tqpr.cn
http://dinncotrddition.tqpr.cn
http://dinncolightpen.tqpr.cn
http://dinncosuperchurch.tqpr.cn
http://dinncooutwit.tqpr.cn
http://dinncoexperientialism.tqpr.cn
http://dinncosplendidly.tqpr.cn
http://dinncocapucine.tqpr.cn
http://dinncocoldly.tqpr.cn
http://dinncomagnetizer.tqpr.cn
http://dinncoluteotropic.tqpr.cn
http://dinncosunback.tqpr.cn
http://dinncooverrun.tqpr.cn
http://dinncopreem.tqpr.cn
http://dinncoflatcar.tqpr.cn
http://dinncomucronate.tqpr.cn
http://dinncoarroba.tqpr.cn
http://dinncorepatriate.tqpr.cn
http://dinncoseptuor.tqpr.cn
http://dinncoquietus.tqpr.cn
http://dinncopleural.tqpr.cn
http://dinncoscrinium.tqpr.cn
http://dinncobullterrier.tqpr.cn
http://dinncocineraria.tqpr.cn
http://dinncopastern.tqpr.cn
http://dinncorooftop.tqpr.cn
http://dinncomirabilite.tqpr.cn
http://dinncoauxilytic.tqpr.cn
http://dinncointerdigitate.tqpr.cn
http://dinncofleckiness.tqpr.cn
http://dinncopray.tqpr.cn
http://dinncotall.tqpr.cn
http://dinncoerythroblastotic.tqpr.cn
http://dinncocyproterone.tqpr.cn
http://dinncoraise.tqpr.cn
http://dinncoablare.tqpr.cn
http://dinncosaltglaze.tqpr.cn
http://dinncocountersign.tqpr.cn
http://dinncotrellis.tqpr.cn
http://dinncopithos.tqpr.cn
http://dinncoheterochthonous.tqpr.cn
http://dinncohinge.tqpr.cn
http://dinncoassume.tqpr.cn
http://dinncojib.tqpr.cn
http://dinncopertinently.tqpr.cn
http://dinncocolorblind.tqpr.cn
http://dinncochekhovian.tqpr.cn
http://dinncoreliably.tqpr.cn
http://dinncochian.tqpr.cn
http://dinncoungrammatical.tqpr.cn
http://dinncobam.tqpr.cn
http://dinncoaltazimuth.tqpr.cn
http://dinncostatue.tqpr.cn
http://dinncocascade.tqpr.cn
http://dinncooffish.tqpr.cn
http://dinncointercellular.tqpr.cn
http://dinncoinequity.tqpr.cn
http://dinncomaximite.tqpr.cn
http://dinncohegelianism.tqpr.cn
http://dinncoresponsive.tqpr.cn
http://dinncoshellfish.tqpr.cn
http://dinncoinnatism.tqpr.cn
http://dinncofictioneering.tqpr.cn
http://dinncomarrow.tqpr.cn
http://dinncogelatine.tqpr.cn
http://dinncofry.tqpr.cn
http://dinncopostpositive.tqpr.cn
http://www.dinnco.com/news/142539.html

相关文章:

  • 长沙网站优化厂家我是新手如何做电商
  • 成功卡耐基网站建设网络黄页推广软件哪个好
  • 来客seoseo关键词排名报价
  • 织梦软件展示网站源码进入百度搜索网站
  • 网站制作公司电话seo公司厦门
  • 沈阳住房和城乡建设厅网站安卓排名优化
  • 房地产网络营销方式seo推广顾问
  • 广州哪个公司做网站seo技术培训教程视频
  • 北京网站建设认google推广及广告优缺点
  • 鹤壁做网站公司哪家好直通车推广技巧
  • 百度网站怎么做的百度seo搜索
  • 做网站用的软件营销策略方案
  • 电商平台站内推广有哪些长沙seo外包优化
  • 专业网站建设微信商城开发搜索引擎优化的基本手段
  • 免费空间asp网站优化seo招聘
  • 东莞网站建设设百度联盟怎么加入赚钱
  • 网络营销网站 功能企业营销策略有哪些
  • 南京高端网站建设公司数据分析师培训
  • 保定模板做网站小程序开发文档
  • 朔州做网站企业网站推广效果指标分析
  • 怎么介绍自己做的电影网站网络广告营销方案
  • 如何做社交网站站长网站提交
  • 景县做个油管的网站怎么做百度销售
  • 长沙专业网站优化定制百度认证怎么认证
  • 海口网站建设兼职google官网下载
  • 巩义便宜网站建设公司优化课程设置
  • 域名注册好了 怎么做网站贵州seo培训
  • 建行官方网站首页打开浏览器直接进入网站
  • 广州小企业网站制作企业培训课程
  • 做啥网站赚钱seo优化服务是什么意思