码迷,mamicode.com
首页 > 其他好文 > 详细

[LeetCode]52 N-Queens II

时间:2015-01-03 08:13:17      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:leetcode   np   

https://oj.leetcode.com/problems/n-queens-ii/

http://blog.csdn.net/linhuanmars/article/details/20668017


Same as N-Queens.


public class Solution {
    public int totalNQueens(int n) {
        Result result = new Result();
        int[] qcols = new int[n];
        resolve(n, 0, qcols, result);
        return result.value;
    }
    
    private void resolve(int n, int row, int[] qcols, Result result)
    {
        if (row >= n)
        {
            result.value ++;
            return;
        }
        
        for (int i = 0 ; i < n ; i ++)
        {
            qcols[row] = i;
            if (check(qcols, row))
            {
                resolve(n, row + 1, qcols, result);
            }
        }
    }
    
    private static class Result
    {
        int value;
    }
    
    private boolean check(int[] qcols, int row)
    {
        for (int i = 0 ; i < row ; i ++)
        {
            if ((qcols[i] == qcols[row]) || (Math.abs(i - row) == Math.abs(qcols[i] - qcols[row])))
                return false;
        }
        return true;
    }
}


[LeetCode]52 N-Queens II

标签:leetcode   np   

原文地址:http://7371901.blog.51cto.com/7361901/1598587

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!