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

力扣 困难 52.N皇后II

文章目录

  • 题目介绍
  • 题解

题目介绍

在这里插入图片描述

题解

法一:返回51题N皇后List的长度
法二:


class Solution {private int n, ans;private boolean[] onPath, diag1, diag2;public int totalNQueens(int n) {this.n = n;onPath = new boolean[n];diag1 = new boolean[n * 2 - 1];diag2 = new boolean[n * 2 - 1];dfs(0);return ans;}private void dfs(int r) {if (r == n) {ans++; // 找到一个合法方案return;}for (int c = 0; c < n; c++) {int rc = r - c + n - 1;if (!onPath[c] && !diag1[r + c] && !diag2[rc]) {onPath[c] = diag1[r + c] = diag2[rc] = true;dfs(r + 1);onPath[c] = diag1[r + c] = diag2[rc] = false; // 恢复现场}}}
}

http://www.mrgr.cn/news/56417.html

相关文章:

  • JMeter详细介绍和相关概念
  • 使用PCL进行点云粗配准的教程
  • C语言 | Leetcode C语言题解之第493题翻转对
  • 多模态大模型研究综述
  • 学习笔记——动态路由——OSPF(距离矢量协议)OSPF路由类型
  • 等保测评2.0——Windows系统测评指导书
  • <a-table>行数据增加点击事件并获取点击行的数据+自定义button按事件
  • MySQL之CRUD(下)
  • 中间件之MQ-Kafka
  • sql数据库的命令行操作(修改表)
  • Leetcode—1242. 多线程网页爬虫【中等】Plus(多线程)
  • C语言初阶小练习4(不用临时变量交换数值)
  • dolphinscheduler创建工作流及工作流中DataX的使用(简单操作)
  • TikTok账号被限流怎么解决?
  • 【二】企业级JavaScript开发之代码编辑器
  • 什么是表单数据
  • 群晖通过 Docker 安装 Gitea
  • 两个线程交替打印数字
  • 鸿蒙开发:两个重磅更新,鸿蒙版微信要来了!
  • Java学习Day50:唤醒八戒(Excel相关)
  • 中间件之Seata
  • Python酷库之旅-第三方库Pandas(160)
  • Linux基础命令(入门)
  • Java框架之MyBatis Plus
  • linux介绍与基本指令
  • Linux系统基础-进程间通信(2)_命名管道和System V通信