leetcode 52. N-Queens II
2016-09-19 15:13
369 查看
这什么题 MDZZ
public int totalNQueens(int n) { return solveNQueens(n).size(); } List<List<Integer>> results = new ArrayList<List<Integer>>(); List<Integer> result = new ArrayList<Integer>(); public List<List<String>> solveNQueens(int n) { List<List<String>> result = new ArrayList<List<String>>(); solveNQueens(n, 0); char[] chars = new char ; //for(char mychar:chars) mychar = '.';//**********!!!!!!!!!! for(int i = 0;i < n;i++) chars[i] = '.'; for(List<Integer> integers:results){ List<String> strings = new ArrayList<String>(); for(Integer integer:integers){//1 3 0 2 chars[integer] = 'Q'; strings.add(new String(chars)); chars[integer] = '.'; } result.add(strings); } return result; } public void solveNQueens(int n,int currentLine){ if(currentLine == n) { List<Integer> integers = new ArrayList<Integer>(); integers.addAll(result); results.add(integers); } else{ for(int i = 0;i < n;i++){ boolean placeAble = true; if(currentLine != 0){ if(result.contains(i)) placeAble = false; else for(int j = 0;j < currentLine;j++){ if((Math.abs(result.get(j)-i)) == currentLine - j){ placeAble= false; break; } } } if(placeAble == true) { result.add(i); solveNQueens(n,currentLine+1); result.remove(currentLine); } } } }
相关文章推荐
- LeetCode 52. N-Queens II
- leetcode-52. N-Queens II
- LeetCode 52. N-Queens II
- Leetcode 51. N-Queens && 52. N-Queens II(Hard)
- 【LeetCode】52.N-Queens II(hard)解题报告
- LeetCode 52. N-Queens II
- (Java)LeetCode-52. N-Queens II
- LeetCode||52. N-Queens II
- leetcode 52. N-Queens II
- leetcode 52. N-Queens II
- 个人记录-LeetCode 52. N-Queens II
- LeetCode | 52.N-Queens II
- leetcode 51.N-Queens & 52. N-Queens II
- leetcode 52. N-Queens II
- Leetcode 52. N-Queens II (Hard) (cpp)
- LeetCode52. N-Queens II
- LeetCode 52. N-Queens II 题解(C++)
- LeetCode 52. N-Queens II 解题报告
- leetcode 52. N-Queens II
- LeetCode 52. N-Queens II