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

[leetcode]N-Queens II

时间:2017-04-23 10:42:05      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:lan   public   ==   detail   code   turn   leetcode   conf   []   

问题描写叙述:

Follow up for N-Queens problem.

Now, instead outputting board configurations, return the total number of distinct solutions.

技术分享

(N-Queens problem can see here )

基本思路:

可參照N-Queens问题。依照N-Queens 问题稍作改动就可以。


代码:

public class Solution {  //java
        public int result;
	    public boolean check_pos(int index, int loop, int [] record){

            for(int i = 0; i < index; i++){
                if(record[i] == loop)
                    return false ;
                if(record[i]+i == index + loop)
                	return false ;
                if(record[i] -loop == i - index )
                	return false ;
            }  
	        return true;
	    }
	    
	    public void  subNQueen(int [] record,int index, int n){
	    	if(index == n){
                result++;	    	    
	    	}
	    	
		    for(int loop = 1; loop <=n; loop++){
		    	if(check_pos(index, loop, record)){
		    		record[index] = loop;
			        subNQueen(record,index+1,n);
			        record[index] = 0;
		    	}
		    }
	    
	    }
    public int totalNQueens(int n) {
        int index = 0;
	    int [] record = new int[n];
	    subNQueen(record,0,n);
	    return result;
    }
}


[leetcode]N-Queens II

标签:lan   public   ==   detail   code   turn   leetcode   conf   []   

原文地址:http://www.cnblogs.com/tlnshuju/p/6751482.html

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