leetcode 51 -N皇后
来源:互联网 发布:耳机煲机软件 编辑:程序博客网 时间:2024/05/21 18:41
最近科研没头绪,写写leetcode缓缓,主要学python了,之前python只是看别人的代码,还没自己写过,果然不同
N皇后也算经典题目了,写的时候倒也没那么顺利,没搞懂列表和普通变量复制的区别,也算加深印象了
皇后1
class Solution(object):
def solveNQueens(self, n):
Nqunens=[]
def fd(m,l):
if m==n:
nq=[]
for i in range(n):
s=""
for j in range(n):
if l[i]==j:
s=s+"Q"
else:
s=s+"."
nq.append(s)
Nqunens.append(nq)
else:
for i in range(n):
if isok(i,l)==True:
nl=l[:]
nl.append(i)
fd(m+1,nl)
def isok(a,l):
for i in range(len(l)):
if l[i]==a:
return False
if len(l)-i==a-l[i] or l[i]-a==len(l)-i:
return False
return True
nnl=[]
fd(0,nnl)
return Nqunens
皇后2
class Solution(object):
def totalNQueens(self, n):
def fd(m,l):
if m==n:
return 1
else:
sum=0
for i in range(n):
if isok(i,l)==True:
nl=l[:]
nl.append(i)
sum+=fd(m+1,nl)
return sum
def isok(a,l):
for i in range(len(l)):
if l[i]==a:
return False
if len(l)-i==a-l[i] or l[i]-a==len(l)-i:
return False
return True
nnl=[]
return fd(0,nnl)
- leetcode 51 -N皇后
- leetcode-51 N-Queens N皇后问题
- leetcode-51/52-N皇后问题
- leetcode --n皇后
- [LeetCode] N-Queen N皇后
- [LeetCode 51&52] N-Queens I & II (N皇后问题)
- leetcode之n皇后问题
- leetcode 52. N-Queens II & leetcode 51 N-Queens (N皇后问题)
- N-Queens N皇后问题@LeetCode
- LeetCode 51. N-Queens(N皇后)
- N 皇后问题 : Leetcode 51. N-Queens
- LeetCode-51-N-Queens 八皇后问题dfs
- [LeetCode] [N皇后问题] N-Queens & N-Queens II
- 从八皇后问题到n皇后问题(leetcode)
- Leetcode #51&52 N-Queens I&II N皇后问题 1&2 解题报告
- <LeetCode> 题33:N皇后问题
- 2017.11.8 LeetCode N皇后问题
- 每天一道LeetCode-----n皇后问题
- 8.账户管理(非数据库管理人员理解篇
- c语言变量初始化
- CC2640R2F之基础--工程管理篇(下)--外设驱动IO口分配(纯干货)
- 基础练习 BASIC-19 完美的代价
- Python内置高阶函数map,reduce,filter,sorted,zip
- leetcode 51 -N皇后
- 队列的一些操作(线性表,链式)
- CIFAR_10处理数据——搭建模型——训练模型
- lspci命令详解
- Discuz!开发之全局变量$_G详解
- 9.25 (周一)
- smoj1987(cdq分治+离散化/数据结构)
- HDU2147 Brave Game (巴什博弈 )
- Code Composer Studio 7.3.0安装错误。