打卡算法☆LeetCode 52、N皇后II 算法解析

      網友投稿 654 2025-04-01

      推薦閱讀


      CSDN主頁

      GitHub開源地址

      Unity3D插件分享

      簡書地址

      我的個人博客

      QQ群:1040082875

      大家好,我是小魔龍,Unity3D軟件工程師,VR、AR,虛擬仿真方向,不定時更新軟件開發技巧,生活感悟,覺得有用記得一鍵三連哦。

      一、題目

      ☆打卡算法☆LeetCode 52、N皇后II 算法解析

      1、算法題目

      “給定一個整數,返回N皇后問題的不同解決方案的數量?!?/p>

      題目鏈接:

      來源:力扣(leetcode

      鏈接:52. N皇后 II - 力扣(leetcode) (leetcode-cn.com)

      2、題目描述

      n?皇后問題 研究的是如何將 n?個皇后放置在 n×n 的棋盤上,并且使皇后彼此之間不能相互攻擊。

      給你一個整數 n ,返回 n 皇后問題 不同的解決方案的數量。

      示例 1: 輸入: n = 4 輸出: 2 解釋: 如上圖所示,4 皇后問題存在兩個不同的解法。

      示例 2: 輸入: n = 1 輸出: 1

      二、解題

      1、思路分析

      這個題跟51題很像,是51題的升級款,51題是找到N皇后所有可能的解,這道題是只需要得到不同的解決方案的數量,那么就是只需要將所有可能的解改成得到可能的解的數量即可。

      這道題還是用回溯法,在放置皇后的時候快速判斷每個位置是否可以放置皇后。

      2、代碼實現

      代碼參考:

      public class Solution { public int TotalNQueens(int n) { var dp = new bool[n, n]; var res = 0; FindP(0, 0); return res; void FindP(int y, int nums) { if (nums == n) { res++; return; } for (int x = 0; x < n; x++) { if (CanP(x, y)) { dp[y, x] = true; FindP(y + 1, nums + 1); dp[y, x] = false; // 撤銷 } } } bool CanP(int x, int y) { // 上 for (int i = y - 1; i >= 0; i--) if (dp[i, x]) return false; // 左上 for (int i = y - 1, j = x - 1; i >= 0 && j >= 0; i--, j--) if (dp[i, j]) return false; // 右上 for (int i = y - 1, j = x + 1; i >= 0 && j < n; i--, j++) if (dp[i, j]) return false; return true; } } }

      3、時間復雜度

      時間復雜度 : O(N!)

      其中N是皇后的數量。

      空間復雜度: O(N)

      其中N是皇后的數量。

      三、總結

      這道題非常經典。

      總結來說就是一層層的搜索。

      然后使用三個列表去標記每一層那些各自可以放置皇后。

      然后找到解。

      數據結構

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:Excel中表格運用的操作方法(excel表格的用法excel表格的基本操作)
      下一篇:excel怎么隱藏公式
      相關文章
      中文亚洲AV片不卡在线观看| 亚洲热线99精品视频| 在线亚洲精品自拍| 亚洲激情视频图片| 亚洲成a人片在线网站| 国产V亚洲V天堂A无码| 亚洲国产精品自产在线播放| 亚洲中文字幕一二三四区| 亚洲日本乱码一区二区在线二产线| 久久亚洲国产欧洲精品一| 亚洲乱码日产精品a级毛片久久| 亚洲二区在线视频| 亚洲高清视频在线观看| 亚洲成av人片在线观看天堂无码| 久久精品国产亚洲av影院| 亚洲人成精品久久久久| 国产亚洲视频在线播放| 国产亚洲精品看片在线观看| 国产精品手机在线亚洲| 国产亚洲欧美日韩亚洲中文色| 亚洲人成未满十八禁网站| 亚洲av日韩av无码av| 亚洲AV色吊丝无码| 亚洲成AV人综合在线观看| 亚洲一区二区三区电影| 久久亚洲AV无码精品色午夜| 亚洲专区先锋影音| 久久亚洲AV成人出白浆无码国产 | 亚洲国产精品yw在线观看| 亚洲视频在线观看地址| 91嫩草私人成人亚洲影院| 老司机亚洲精品影院无码| 亚洲精品私拍国产福利在线| 亚洲激情中文字幕| 噜噜噜亚洲色成人网站∨| 亚洲最大视频网站| 亚洲小视频在线播放| 中文字幕在线观看亚洲| 久久亚洲精品无码VA大香大香| 91亚洲va在线天线va天堂va国产 | 久久亚洲精品成人av无码网站|