算法记录
tianbbccc
记录学习笔记
展开
-
n皇后、2n皇后问题
n皇后题目简述给定一个n×n的棋盘,将n个皇后按如下规则加到棋盘中:任意两个皇后不在同一行同一列,同一条对角线上,问:共有多少种方法。思路对每一列进行判断,若能放,则放,不能放就考虑下一列。将二维数组每个元素赋初值为0,若当前位置放了皇后,则将它置1。算法如下:令当前行为row=0,共有count=0种方法;对每一列进行判断,若能放,则queen[row][j]=1,row++继续步骤二 , 否则j++;当row=n时,count++,结束。解题主要在回溯的思想以及当前能否放皇后的判原创 2020-07-30 18:05:30 · 146 阅读 · 0 评论 -
java实现全排列
思想一个数的全排列是其本身两个数的全排列只需要交换位置三个数(123)的全排列先保持第一个数的位置不变,对其后面的两个数进行全排列(123、132),然后从第二个数开始,将第二个数与第一个数交换位置(213),在对后面的两个数进行全排列(213、231),然后将第三个数与第一个数交换位置(321),在对后面的两个数进行全排列(321、312),由于当前指向的位置已经是第三个数(最后一个数),因此结束。四个数(1234)的全排列先保持第一个数的位置不变,对其后面的三个数进行全排列(全排列的思想参照三个原创 2020-07-30 11:18:50 · 461 阅读 · 0 评论