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

LeetCode 刷题【36. 有效的数独】

36. 有效的数独

自己做

解:多层for

class Solution {
public:bool isValidSudoku(vector<vector<char>>& board) {int hight = board.size();       //长if (hight == 0)return true;int wide = board[0].size();     //宽//判断一行是否出现重复bool unique = true;for (int i = 0; i < hight; i++)          //遍历每一行for (int j = 0; j < wide; j++)       //对一行的元素判断是否出现有重复(两重for实现)for (int z = j + 1; z < wide; z++)if (board[i][j] != '.' && board[i][j] == board[i][z]) {  //出现重复unique = false;cout << i << "," << j << "与" << z << "重复" << endl;}if (unique == false)                 //行出现重复return false;//判断一列是否出现重复for (int i = 0; i < wide; i++)          //遍历每一列for (int j = 0; j < hight; j++)       //对一列的元素判断是否出现有重复(两重for实现)for (int z = j + 1; z < hight; z++)if (board[j][i] != '.' && board[j][i] == board[z][i])  //出现重复unique = false;if (unique == false)                 //列出现重复return false;//判断3*3是否出现重复for (int i = 0; i < hight; i += 3)          //遍历每个3*3,(i,j)标记一个3*3的起始,从(0,0)到(6,6)for (int j = 0; j < wide; j += 3) {//对于3*3内的判断//检查有无重复元素【将board[i + z % 3][j + z / 3]与其余元素对比】for (int z = 0; z < 9; z++)for (int k = z + 1; k < 9; k++) {if (board[i + z % 3][j + z / 3] != '.' && board[i + z % 3][j + z / 3] == board[i + k % 3][j + k / 3])unique = false;}}if (unique == false)                 //3*3出现重复return false;//经过上面的判断全部通过,说明符合条件,返回return true;}
};

http://www.xdnf.cn/news/17492.html

相关文章:

  • 【Datawhale AI夏令营第三期】多模态RAG
  • c++ 容器vector基础
  • 【递归、搜索和回溯】FloodFill 算法介绍及相关例题
  • Zread:把 GitHub 仓库“一键变说明书”的体验与实战指南
  • AutoML 的下半场——从“模型选择”到“端到端业务闭环”
  • Redhat Linux 9.6 配置本地 yum 源
  • Java类和对象课上练习题目设计
  • 计算机网络:CIDR地址块如何划分子网
  • 24SpringCloud黑马商城微服务整合Seata重启服务报错的解决办法
  • Day 36: 复习
  • 【机器学习深度学习】模型选型:如何根据模型的参数算出合适的设备匹配?
  • 05.【数据结构-C语言】栈(先进后出,栈的实现:进栈、出栈、获取栈顶元素,栈实现代码,括号匹配问题)
  • [Oracle] SUBSTR()函数
  • [CUDA] CUTLASS | `CuTe DSL` 创新
  • 化工安防误报率↓82%!陌讯多模态融合算法实战解析
  • ARM CPU 安全更新:Training Solo(关于 Spectre-v2 攻击中域隔离机制的局限性)
  • 在ubuntu服务器下安装cuda和cudnn(笔记)
  • 基于Prometheus、Grafana、Loki与Tempo的统一监控平台故障排查与解决方案
  • 3款强力的Windows系统软件卸载工具
  • STM32的中断系统
  • 大数据与财务管理:未来就业的黄金赛道
  • 第4章 程序段的反复执行4.2while语句P128练习题(题及答案)
  • Mistral Small 3.1 架构深度解析:高效小型模型的巅峰之作
  • 直接插入排序算法:可视化讲解与C语言实现
  • drippingblues靶机教程
  • 飞算JavaAI:人工智能与Java的创新融合与应用前景
  • 逻辑回归详解:原理、应用与实践
  • OceanBase架构设计
  • 後端開發技術教學(四) 數據交互延伸
  • 如何更改win11自带录音机所录制文件的存储路径