`
hcx2013
  • 浏览: 88834 次
社区版块
存档分类
最新评论

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.

 

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

 

分享到:
评论

相关推荐

    Sudoku solver in C++ (数独计算器)

    A Sudoku solver implemented in C++. It can solve a given Sudoku problem, or count the possibilities for all valid Sudoku grids.

    matlab开发-SudokuSolver

    在本项目中,“matlab开发-SudokuSolver”是一个使用MATLAB编程语言编写的数独问题求解器。MATLAB是一种强大的数学计算环境,适合进行数值分析、算法开发、数据可视化等任务,它提供了丰富的数学函数库和用户友好的...

    matab_sudoku_solver.zip_realtime_sudoku solver

    标题中的"matab_sudoku_solver.zip_realtime_sudoku solver"揭示了我们正在讨论一个利用Matlab实现的实时数独求解器,它运用了支持向量机(Support Vector Machines, SVM)这一机器学习算法。在本文中,我们将深入...

    SudokuSolver:使用Python和Selenium解决NYTimes难题

    cd SudokuSolver conda create env -f sudoku-env.yml conda activate sudoku-env 视觉功能仅适用于Chrome。 要测试IPython中的功能,请运行: from src . sudoku import sudoku sudoku () 将弹出一个Chrome窗口...

    Matrix Sudoku Solver软件完整版(数独智能求解源码)

    Matrix Sudoku Solver 解独矩阵是一款计算机模拟人工思路求解数独的程序。它能利用大部分的人工解法完成对简单、中等、困难、专家以及骨灰级的数独求解。玩家可以将需要求解的数独输入矩阵后,按照提示或结合逻辑...

    Quick and Easy Sudoku Solver-开源

    而“Quick and Easy Sudoku Solver”这款开源软件,正是为解决数独难题而生。它不仅提供快速解决方案,还支持逐步训练模式,帮助玩家提升解题技巧。本文将深入探讨该开源项目的实现原理和技术细节。 首先,从压缩包...

    Sudoku Solver:一个简单的数独求解器!-开源

    标题中的"Sudoku Solver"指的是一个专门用于解决数独游戏的软件。数独是一种逻辑谜题,玩家需要在9x9的格子中填入数字,使得每一行、每一列以及每一个3x3的小宫格内的数字都从1到9不重复。这个数独求解器是"一个简单...

    sudokusolver:Sudoku Solver项目

    - 创建一个`SudokuSolver`类,包含初始化函数用于设置初始数独盘面,`solve`方法用于执行解算过程,以及`is_valid`方法用于检查当前位置的数字是否合法。 - 使用递归实现回溯,每次尝试填充一个数字,如果成功则...

    Sudoku Solver 1.0:Sudoku Solver 1.0解决9x9 Sudokus。-开源

    《Sudoku Solver 1.0:揭秘开源技术在解谜领域的应用》 Sudoku Solver 1.0是一款专为解决9x9数独难题而设计的高效软件。它以其几乎瞬间解决问题的能力,展现了计算机在逻辑推理和算法设计上的强大威力。这款开源...

    自制求解Sudoku游戏的Android应用

    2. `SudokuSolver.java`:数独求解器,可能包含了各种求解策略,如回溯法、深度优先搜索等。 3. `GridView`或`RecyclerView`布局:用于展示数独盘面,用户可以点击输入数字。 4. `SharedPreferences`或数据库:可能...

    SudokuSolver:数独求解器和创建器

    《SudokuSolver: 数独求解器与生成器深度解析》 SudokuSolver,由Repetti开发,是一款基于Java编程语言实现的高效数独求解器和创建器。这款工具不仅能够帮助用户解决复杂的数独谜题,还能够自动生成具有不同难度...

    Simple Sudoku Solver-开源

    数独是一种广受欢迎的逻辑游戏,而“Simple Sudoku Solver”是一款基于控制台的开源数独求解器。本文将深入探讨这款软件的设计理念、实现原理以及开源的意义,帮助读者理解其背后的编程技术和开源文化。 一、设计与...

    sudokuSolver:带有Mocha和Chai测试的完整堆栈Java数独解决应用程序

    $ cd sudokuSolver 脚手架 sudokuSolver ├── controllers | └── puzzle-string.js | └── sudoku-solver.js ├── public │ └── index.js │ └── style.css ├── routes | └

    SudokuSolver:解决用户输入数独谜题的 Android 应用程序

    《SudokuSolver:Android平台上的数独解谜应用与TDD及MVP实践》 数独,作为一种广受欢迎的逻辑推理游戏,深受广大玩家的喜爱。为了满足用户在移动设备上随时随地挑战数独的需求,"SudokuSolver"应运而生。这款...

    SudokuSolver:SudokuSolver通过自定义OCR进行图像处理

    SudokuSolver与图像处理通过自定义OCR下载的所有文件,并确保目录不改变使用main.py文件来执行代码其他Python文件是强制使用与该链接数据训练main.py OCR 您可以在Sudoku解算器中找到带有图像处理docx文件的详细报告

    SudokuSolver:数独实例求解器

    "SudokuSolver"是一个用C++语言编写的数独实例求解器,其目的是帮助玩家自动解决数独问题。 首先,我们要理解这个项目的核心部分是如何实现的。在C++中,通常会使用二维数组来表示数独的矩阵结构。每个单元格可以...

    SudokuSolver-Python:Python中的数独求解器

    SudokuSolver-Python Python中的Sudoku解算器。输入图形用户界面运行SudokuUI.py。 这需要Web浏览器和Chris Knot提供的Python软件包 。 后者可以通过pip install eel进行安装。 可以在网格空间中自由输入数字。 非...

    Sudoku Solver (+ solution provider!)-开源

    《Sudoku Solver:开源Python实现解析》 Sudoku Solver是一款高效且直观的Sudoku问题解决工具,它能够迅速解决各种难度的数独谜题,并详细展示解题过程。这款应用程序的亮点在于其开源特性,意味着代码对所有人开放...

    Sudoku-Solver:用Python内置的GUI Sudoku Solver

    "Sudoku-Solver:用Python内置的GUI Sudoku Solver"是一个使用Python编程语言开发的数独解算器,其核心算法是回溯法。 回溯法是一种通过尝试所有可能的解决方案并逐步回溯以找到正确答案的搜索策略。在这个数独解算...

Global site tag (gtag.js) - Google Analytics