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

LeetCode:37. 解数独

class Solution {

    //标记是否可以找到可行解

    bool found=false;

public:

    void solveSudoku(vector<vector<char>>& board) {

        backtrack(board,0);

    }

private:

    //index代表数字的位置

    void backtrack(vector<vector<char>>& board,int index){

        int m=9,n=9;

        //i和j代表横纵坐标

        int i=index/n,j=index%n;

        if(found){

            return;

        }

        if(index==m*n){

            found=true;

            return;

        }

        if(board[i][j]!='.'){

            //遇到已给出的数,进入下一个位置

            backtrack(board,index+1);

            return;

        }

        for(char ch='1';ch<='9';ch++){

            if(!isvalid(board,i,j,ch)){

                //如果遇到不合适的就跳过

                continue;

            }

            board[i][j]=ch;

            backtrack(board,index+1);

            if(found){

                return;

            }

            board[i][j]='.';

        }

    }

    bool isvalid(vector<vector<char>>& board,int r,int c,char num){

        for(int i=0;i<9;i++){

            //判断行内是否出现重复

            if(board[r][i]==num)return false;

            //判断列内是否出现重复

            if(board[i][c]==num)return false;

            if(board[(r/3)*3+i/3][(c/3)*3+i%3]==num){

                return false;

            }

        }

        return true;

    }

};

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

相关文章:

  • 算法 | 单链表相交
  • 比较好的建站公司大恒建设集团有限公司网站
  • 一键lnmp搭建wordpress优化设计数学
  • Crew连接多个 MCP 服务器
  • 做母婴育儿类网站好做seo排名吗网站建设细节差异化
  • 中山互联网推广:AI时代的数字营销新逻辑
  • 博罗网站建设费用无锡设计网站找哪家
  • 个人做网站要备案吗公司发展规划怎么写
  • Navicat 完整清理脚本
  • Python及Ipython解释器
  • 昇腾NPU运行Llama模型全攻略:环境搭建、性能测试、问题解决一网打尽
  • 前端通用布局(左侧侧边栏+顶部导航栏+主内容区)
  • 在线做印章的网站如何做网站导航
  • 制作微信商城网站开发怎么做仿制网站
  • 鸿蒙openharmony操作系统LiteOS-A内核技术全解析:架构、性能与开发实践
  • 【MATLAB源码-第303期】基于matlab的蒲公英优化算法(DO)机器人栅格路径规划,输出做短路径图和适应度曲线.
  • KP2203LGA/KP2205LGA芯片功能描述,内置65k/100kHz开关频率振荡器
  • asp网站程序优点东莞黄江网站建设
  • 阿里巴巴网站威海哪里做?苏州高端模板建站
  • 网站开发步骤说明书温州市建筑业联合会
  • wdt接口优化
  • 东莞网站建设服务协议wordpress字段添加按钮
  • 网站建设的技术标准中小企业网站建设渠道
  • 创建网站需要什么技术个人网站建设的方案
  • 为什么做营销型网站邯郸渊博网络有限公司
  • dir()与help()
  • chromium项目中添加源文件(BUILD.gn项目中添加源文件)
  • 网站建设远程工作太原网站建设联系方式
  • 宁波模板建站源码展示网站报价
  • 台式机电脑i9-9900K+Z390-PRO-A更换主板的辛路历程