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)

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 考砸了家长打我怎么办? 高三学生困疲劳怎么办 高三晚上很困怎么办 孩子上高三压力大不想上学怎么办 高三的孩子压力大怎么办 高三复读压力大怎么办 孩子一年级做数学粗心怎么办 一年级的孩子数学总粗心怎么办 天生手脚笨的人怎么办 高三的孩子厌学怎么办 二年级小孩学习笨怎么办 孩子高二不想上怎么办 高三孩子玩手机怎么办 孩子考试粗心丢题怎么办 工作中总出错是怎么办 工作上做错事了怎么办 惹她不开心了怎么办 惹到别人不开心怎么办 孩子高三不愿意写作业怎么办? 小孩特别懒不爱学习怎么办 小孩上三年级不爱学习怎么办 一年级孩子做题粗心怎么办 一年级的孩子做题粗心怎么办 一年级娃娃做题粗心怎么办 有同学抄作业该怎么办 同学要抄我作业怎么办 同桌抄我作业我该怎么办 孩子想换同桌老师不同意怎么办 尴尬的事情心里难受怎么办 孩子撒谎不完成作业怎么办 孩子撒谎不交作业怎么办 孩子不爱写作业撒谎怎么办 大便又粗又硬怎么办 二年级末考紧张怎么办 孩子粗心做数学题老出错怎么办 生地会考考了140怎么办 数学成绩考砸了怎么办? 考砸了家长发火怎么办 大型考试考砸了怎么办 能力考试考砸了怎么办 考砸了老师批评怎么办