首页 > 其他分享 >解数独 【笔试题】

解数独 【笔试题】

时间:2023-03-29 20:35:52浏览次数:41  
标签:return backtrack int 笔试 char board 解数 public

本题虽然是困难 但是难度不大 写的时候也是有经验

class Solution {
    public void solveSudoku(char[][] board) {
        backtrack(board,0,0);

    }

    public boolean backtrack(char[][] board, int i, int j){
        int m = 9, n = 9;
        if(j == n){
            return backtrack(board, i+1, 0);
        }
        if(i == m){
            return true;
        }
        if(board[i][j] != '.'){
            return backtrack(board, i, j+1);
        }

        for(char ch = '1'; ch <= '9'; ch++){
            if(!isValid(board,i,j,ch)){
                continue;
            }

            board[i][j] = ch;

            if(backtrack(board, i, j+1)){
                return true;
            }
            board[i][j] = '.';
        }
        return false;
    }

//判断是否有效
    public boolean isValid(char[][] board, int r, int c, char n){
        for(int i = 0; i < 9; i++){
            if(board[r][i] == n){
                return false;
            }
            if(board[i][c] == n){
                return false;
            }
            if(board[(r/3) * 3 + (i / 3)][(c/3) * 3 + (i%3)] == n ){
                return false;
            }
        }
        return true;
    }
}

标签:return,backtrack,int,笔试,char,board,解数,public
From: https://www.cnblogs.com/rickierun/p/17270227.html

相关文章

  • 关于两道笔试题的思考
    1.在32位机器上正确的输出是?structNode{boolval1;intval2;charstr[1023];};Node*p=newNode();std::cout<<sizeof(p)<<std::endl;std::cout......
  • 笔试题
    1.用一个生活案例,描述面向对象这个概念你跟她说“去倒茶”,她就会把茶到好;你说“老婆.衣服.颜色=红”,她就自己去把红色衣服换上。当你老婆做饭时,她会产生一个“帮忙”事件,......
  • 百度2020校招Web前端工程师笔试卷(第三批)(大题21~23)
    <!DOCTYPEhtml><html><head><metacharset="UTF-8"><style>body,ul,li,select{margin:0;padding:0;box-sizing:border-box......
  • 【THM】Packets & Frames(了解数据包和帧)-学习
    本文相关的TryHackMe实验房间链接:https://tryhackme.com/room/packetsframes本文相关内容:了解数据如何被分成更小的部分并通过网络传输到另一台设备。什么是数据包和帧?......
  • 89.神州数码、华为、东软笔试题
    89.神州数码、华为、东软笔试题1.2005年11月15日华为软件研发笔试题。实现一单链表的逆转。2.编码实现字符串转整型的函数(实现函数atoi的功能),据说是神州数码笔试题......
  • 武汉群硕笔试和面试的6个瑕疵和5个亮点
    问题:1.面试的时候有时打断了面试官的话,显得不礼貌。  面试官问了一个问题,我回答之后,面试官误解了,他还没有说完,我急于表达,打断了他的话。  貌似也忘记和那个技术人员......
  • 百度2020校招Web前端工程师笔试卷(第一批)大题部分(21~23)
    非大题在本地pdf中有详解21.异或题解#include<iostream>usingnamespacestd;longlongchange(longlongx){if(x%4==0){returnx;}else......
  • 记录两道笔试题
    两道笔试题树上染色给定一颗树,树上节点被分配给红色与白色,每次操作你可以更改任意一个节点的颜色,求使红色节点与白色节点不相邻的最小操作次数Example:Input:4RWWW1......
  • Go语言:利用 TDD 测试驱动开发帮助理解数组与动态数组(切片)的区别
    ArrayVSSlice数组允许你以特定的顺序在变量中存储相同类型的多个元素。对于数组来说,最常见的就是迭代数组中的元素。我们创建一个Sum函数,它使......
  • 某笔试题的思路
    num:235789//每一个出现的数,从小到大排序好cnt:211231//每个出现的数的数量,比如3表示8出现3次dp表达方式:dp[n][2]dp[i][0]:表示在区间1~i......