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

37. Sudoku Solver

题目描述

37. Sudoku Solver

回溯

class Solution {vector<vector<bool>> row_used;vector<vector<bool>> col_used;vector<vector<bool>> box_used;public:void solveSudoku(vector<vector<char>>& board) {row_used.resize(9,vector<bool>(9,false));col_used.resize(9,vector<bool>(9,false));box_used.resize(9,vector<bool>(9,false));for(int row= 0;row < 9;row++){for(int col = 0;col < 9;col++){if(board[row][col] != '.'){int digit = board[row][col] - '0' -1;row_used[row][digit] = true;col_used[col][digit] = true;box_used[(row/3)*3 + col/3][digit] = true;}}}backtrack(board);}bool backtrack(vector<vector<char>>& board){for(int row = 0;row < 9;row++){for(int col = 0;col < 9;col++){if(board[row][col] != '.')continue;for(int digit = 0;digit<9;digit++){if(row_used[row][digit])continue;if(col_used[col][digit])continue;if(box_used[(row/3)*3+ col/3][digit])continue;row_used[row][digit] = true;col_used[col][digit] = true;box_used[(row/3)*3+ col/3][digit] = true;board[row][col] = '0'+ digit + 1;if(backtrack(board)) return true;board[row][col] = '.';row_used[row][digit] = false;col_used[col][digit] = false;box_used[(row/3)*3+ col/3][digit] = false;}return false;}}return true;}
};

相关文章:

  • uniapp与微信小程序开发平台联调无法打开IDE
  • [USACO1.5] 八皇后 Checker Challenge Java
  • 业界宽松内存模型的不统一而导致的软件问题, gcc, linux kernel, JVM
  • 【KWDB 创作者计划】_再热垃圾发电汽轮机仿真与监控系统:KaiwuDB 批量插入10万条数据性能优化实践
  • 2.4 TypeScript 中的展开运算符
  • 打造苹果级视差滚动动画:现代网页滚动动画技术详解
  • STM32入门教程——LED闪烁LED流水灯蜂鸣器
  • 【清晰教程】查看和修改Git配置情况
  • Java中Redis面试题集锦(含过期策略详解)
  • 科普:Linux `su` 切换用户后出现 `$` 提示符,如何排查和解决?
  • 论文笔记: Urban Region Embedding via Multi-View Contrastive Prediction
  • leetcode付费题 353. 贪吃蛇游戏解题思路
  • 2025年- H61-Lc169--74.搜索二维矩阵(二分查找)--Java版
  • 【技能拾遗】——家庭宽带单线复用布线与配置(移动2025版)
  • 计算机视觉与深度学习 | 基于Matlab的门禁指纹识别与人脸识别双系统实现
  • 关于TongWeb数据源兼容mysql驱动的注意事项
  • CSS专题之层叠上下文
  • 【前端】SPA v.s. MPA
  • vue3 基本语法 父子关系
  • 设计模式——装饰器设计模式(结构型)
  • 哪些网站可以做帮助文档/合肥网络推广
  • 相亲网站男人拉我做外汇/广点通投放平台
  • 做网站怎么收费多少/seo域名综合查询
  • 张家港做网站收费标准/网络外包
  • 香港网站域名查询/最近的新闻有哪些
  • 深圳广告公司联系方式电话/在线看seo网站