n皇后,dfs
题意:
求解n皇后问题
leetcode51是求所有方案,leetcode52是求方案数
思路:
入门的dfs题目.
按行dfs,每行只有一个皇后,因此枚举它在这行出现在哪列,并判断会不会和前面的行的皇后产生冲突,没有冲突就dfs下一行.能dfs到底就说明有一个新的方案.
判断冲突是用一个数组记录每行皇后所在的列,然后判断会不会同列或者同斜线.
复杂度是很宽松的O(n!),n!是因为第一行最多n种选择,第二行最多n-1种,第三行....n*(n-1)*...*1=n!,但实际上会更小.
总结:
dfs