zoukankan      html  css  js  c++  java
  • 52. N-Queens II

    = =这个题好像跟另一个N-QUEEN一样的。。
    我还以为distinct要转棋盘呢。。比如某种解旋转期盼180°和另一种一样,就要去掉。。结果发现根本不是,就是算总数,比上一个少了个构建LIST的步骤。

    public class Solution 
    {
        int res = 0;
        public int totalNQueens(int n) 
        {
            int[] dp = new int[n];
            
            helper(dp,n,0);
        
            return res;    
        }
        
        public void helper(int[] dp, int n, int row)
        {
            if(n == row) res++;
            else
            {
                for(int i = 0; i < n;i++)
                {
                    dp[row] = i;
                    if(isFine(dp,row)) helper(dp,n,row+1);
                }
            }
        }
        
        
        public boolean isFine(int[] dp, int atWhere)
        {
            for(int i = 0; i < atWhere;i++)
            {
                if(dp[i] == dp[atWhere] || Math.abs(i-atWhere) == Math.abs(dp[i] - dp[atWhere])) return false;
                
            }
            return true;
        }
        
        
    }
    

    目前位置最简单的H题。。

  • 相关阅读:
    Java基础语法
    C语言练习题目
    C语言进阶(1)
    C语言易错点
    SQL语句入门
    C语言算法基础
    C语言算法入门
    嵌入式入门
    C语言基础(3)
    C语言基础(2)
  • 原文地址:https://www.cnblogs.com/reboot329/p/5888177.html
Copyright © 2011-2022 走看看