37. Sudoku Solver(dfs)

来源:互联网 发布:卖家淘宝客怎么设置 编辑:程序博客网 时间:2024/06/13 08:38

题目:

Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.

For example, given n = 3, a solution set is:

[  "((()))",  "(()())",  "(())()",  "()(())",  "()()()"]
数独(暴力dfs)

    public boolean solveSudoku(char[][] board) {        for(int i=0;i<9;i++)        {        for(int j=0;j<9;j++)        {        if(board[i][j]=='.')        {        for(char k='1';k<='9';k++)        {        board[i][j]=k;        if(isValid(board,i,j) && solveSudoku(board))        {        return true;        }        else        {        board[i][j]='.';        }        }        return false;        }        }        }        return true;    }    private boolean isValid(char[][] board,int x,int y)    {    for(int i=0;i<9;i++)    {    if(i!=x && board[i][y] == board[x][y])return false;    if(i!=y && board[x][i] == board[x][y])return false;    }    for(int i=3*(x/3);i<3*(x/3+1);i++)    {    for(int j=3*(y/3);j<3*(y/3+1);j++)    {    if((x!=i || y!=j) && board[i][j]==board[x][y])    {    return false;    }    }    }    return true;    }


0 0
原创粉丝点击