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

力扣-回溯-37 解数独

思路

双层递归,而且在传递参数使用&的好处是不用在复制一次样本,浪费时间

class Solution {
public:
    bool isVaild(vector<vector<char>> &board, int row, int cal, char val){
        for(int i = 0; i < 9;i++){
            if(board[row][i] == val) return false;
        }
        for(int i = 0; i < 9;i++){
            if(board[i][cal] == val) return false;
        }
        int startRow = (row/3) * 3;
        int startCal = (cal/3) * 3;
        for(int i = startRow; i < startRow+3;i++){
            for(int j = startCal; j < startCal+3; j++ ){
                if(board[i][j] == val) return false;
            }
        }

        return true;
    }

    bool backTracking(vector<vector<char>>& board){
        for(int i = 0; i < board.size(); i++){
            for(int j = 0; j < board[0].size(); j++){
                if(board[i][j] == '.'){
                    for(char k = '1'; k <= '9'; k++){
                        if( isVaild(board, i, j, k)){
                            board[i][j] = k;
                            if(backTracking(board)) return true;
                            board[i][j] = '.';
                        }
                    }
                    return false;
                }
            }
        }
        
        return true;
    }
    void solveSudoku(vector<vector<char>>& board) {
        backTracking(board);
    }
};

相关文章:

  • JavaScript异步编程方式多,区别是什么?
  • 有时候通过无线上网,有线共享局域网通过该有线为网关进行上网,设置指定的网关IP信息
  • UE5 编辑器辅助/加强 插件搜集
  • C#使用Semantic Kernel:接入本地deepseek-r1
  • 【多模态处理篇五】【DeepSeek文档解析:PDF/Word智能处理引擎】
  • C#初级教程(6)——函数:从基础到实践
  • 后端之路——阿里云OSS云存储
  • 【JavaScript进阶】构造函数数据常用函数
  • 【AI】openEuler 22.03 LTS SP4安装 docker NVIDIA Container Toolkit
  • Java集合框架全解析:从LinkedHashMap到TreeMap与HashSet面试题实战
  • 微信小程序修改个人信息头像(uniapp开发)
  • 机器学习实战(11):时间序列预测——循环神经网络(RNN)与 LSTM
  • NVIDIA A100 SXM4与NVIDIA A100 PCIe版本区别深度对比:架构、性能与场景解析
  • einops测试
  • C#导出dataGridView数据
  • 【Node.js】express框架
  • 【论文带读(1)】《End-to-End Object Detection with Transformers》论文超详细带读 + 翻译
  • 人工智能(AI)的不同维度分类
  • 【知识】Nginx反向代理路径到指定端口,很全面
  • 3D模型在线转换工具:轻松实现3DM转OBJ
  • 上海发布预付卡消费“10点提示”:警惕“甩锅闭店”套路
  • 视频|漫画家寂地:古老丝路上的文化与交流留下的独特印记
  • 中国德国商会报告:76%在华德企受美国关税影响,但对华投资战略依然稳固
  • 观察|印巴交火开始升级,是否会演变为第四次印巴战争?
  • “80后”海南琼海市长傅晟,去向公布
  • 吴清:全力支持中央汇金公司发挥好类“平准基金”作用