36. Valid Sudoku

import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;

public class Solution {
    public boolean isValidSudoku(char[][] board) {
        if(board==null)
            return false;
        int size=board.length;
        boolean res=true;
        
        Set<Character> temp=new HashSet<Character>();
        //按行检验
        for(int i=0;i<size;i++)
        {
            temp.clear();
            for(int j=0;j<size;j++)
            {
                if(board[i][j]!='.')
                {
                    if(temp.contains(board[i][j]))
                        return false;
                    else
                        temp.add(board[i][j]);
                }
            }
        }
        
        //按列检验 
        
        for(int j=0;j<size;j++)
        {
            temp.clear();
            for(int i=0;i<size;i++)
            {
                if(board[i][j]!='.')
                {
                    if(temp.contains(board[i][j]))
                        return false;
                    else
                        temp.add(board[i][j]);
                }
            }
        }
        
        
        //按3*3检验
        for(int i=0;i<size;)
        {
            for(int j=0;j<size;)
            {
                if(i+3>size||j+3>size)
                    continue;
                temp.clear();
                for(int index=i;index<i+3&&index<size;index++)
                {
                    for(int jdex=j;jdex<j+3&&jdex<size;jdex++)
                    {
                        if(board[index][jdex]!='.')
                        {
                            if(temp.contains(board[index][jdex]))
                                return false;
                            else
                                temp.add(board[index][jdex]);
                        }
                    }
                }
                j+=3;
                
                
            }
            i+=3;
        }
        
        
        return res;
        
        
    }
}

 

posted @ 2016-08-13 21:33  阿怪123  阅读(106)  评论(0编辑  收藏  举报