zoukankan      html  css  js  c++  java
  • [Leetcode] Sudoku Solver

    Write a program to solve a Sudoku puzzle by filling the empty cells.

    Empty cells are indicated by the character '.'.

    You may assume that there will be only one unique solution.

    A sudoku puzzle...

    ...and its solution numbers marked in red.

    Solution:

    http://blog.csdn.net/zxzxy1988/article/details/8586289

     1 public class Solution {
     2     public void solveSudoku(char[][] board) {
     3         mySudokuSolver(board);
     4     }
     5 
     6     private boolean mySudokuSolver(char[][] board) {
     7         // TODO Auto-generated method stub
     8         for(int i=0;i<board.length;++i){
     9             for(int j=0;j<board[0].length;++j){
    10                 if(board[i][j]=='.'){
    11                     for(int k=1;k<=9;++k){
    12                         board[i][j]=(char) (k+'0');
    13                         if(isValid(board,i,j)&&mySudokuSolver(board)){
    14                             return true;
    15                         }
    16                         board[i][j]='.';  //这里这个细节不要忘掉!!,你把后边儿的“.“改成数字后,发现做不下去了,得回溯,那你
                               //得把这个数字改回"."啊
    17 } 18 return false; 19 } 20 } 21 } 22 return true; 23 } 24 25 private boolean isValid(char[][] board, int row, int col) { 26 // TODO Auto-generated method stub 27 for(int i=0;i<board.length;++i){ 28 if(i!=row&&board[i][col]==board[row][col]) 29 return false; 30 } 31 for(int i=0;i<board[0].length;++i){ 32 if(i!=col&&board[row][i]==board[row][col]) 33 return false; 34 } 35 for(int i=(row/3)*3;i<(row/3+1)*3;++i){ 36 for(int j=(col/3)*3;j<(col/3+1)*3;++j){ 37 if(i!=row&&j!=col&&board[i][j]==board[row][col]) 38 return false; 39 } 40 } 41 return true; 42 } 43 }
  • 相关阅读:
    Spring配置多个数据源
    虚拟机内存结构
    Java中sleep,wait,yield,join的区别
    Java的四种引用方式
    Java 中的泛型详解-Java编程思想
    Java RTTI和反射
    linux 分析java 线程状态
    小容量的byteBuffer 读取大文本
    @Conditional 原理
    替换字符串占位符
  • 原文地址:https://www.cnblogs.com/Phoebe815/p/4137277.html
Copyright © 2011-2022 走看看