LeetCode-36. Valid Sudoku

前言

两周没有更新博客了,一个是赶上中秋放假,一个是最近再参加一个比赛,忙的一批,也就没有刷题和写博客。。。
这个排名的规则好像变了,我的排名一下子从130W+变到了10W+,简直是羞愧难当呀,就发这么几篇水博客还能这样,以后要勤发博客了,要不然都对不起这个排名了。。。

问题描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

解决方案

这个只是让验证当前是否合法,那就按照数独的规则一行,一列,一个九宫格地验证呗,可以使用hash表也可以使用数组,来保存某个值在这一行,以及列和九宫格是出现过,如果没有则标记为1,如果已经出现了,那就说明肯定不合法,直接返回假即可,如果所有的元素都判断完,那就返回真。主要的需要注意的是九宫格转换为线性对应关系。代码如下:

class Solution:
    def isValidSudoku(self, board: List[List[str]]) -> bool:
        row = [[False for i in range(9)]for j in range(9)]
        col = [[False for i in range(9)]for j in range(9)]
        rec = [[False for i in range(9)]for j in range(9)]
        for i in range(9):
            for j in range(9):
                if board[i][j]!='.':
                    k = int(board[i][j])-1
                    if row[k][i]==True:# k这个数是否已经在第i行出现过
                        return False
                    else:
                        row[k][i]=True# k这个数是否已经在第j列出现过
                    if col[k][j]==True:
                        return False
                    else:
                        col[k][j]=True
                    n = int(int(i/3)*3+int(j/3))
                    # print(n)
                    if rec[k][n]==True:# k这个数是否已经在第n个九宫格出现过
                        return False
                    else:
                        rec[k][n]=True
        return True

总结

刚开始还以为是要解数独题,后来一看原来只是要看是否合法,很高兴就把题做了,但是下一题就是让解数独的。。。躲得过初一,躲不过十五呀。。。 后面的那个题就国庆假期再写吧。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本项目是一个基于SpringBoot开发的华府便利店信息管理系统,使用了Vue和MySQL作为前端框架和数据库。该系统主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的Java学习者,包含项目源码、数据库脚本、项目说明等,有论文参考,可以直接作为毕设使用。 后台框架采用SpringBoot,数据库使用MySQL,开发环境为JDK、IDEA、Tomcat。项目经过严格调试,确保可以运行。如果基础还行,可以在代码基础之上进行改动以实现更多功能。 该系统的功能主要包括商品管理、订单管理、用户管理等模块。在商品管理模块中,可以添加、修改、删除商品信息;在订单管理模块中,可以查看订单详情、处理订单状态;在用户管理模块中,可以注册、登录、修改个人信息等。此外,系统还提供了数据统计功能,可以对销售数据进行统计和分析。 技术实现方面,前端采用Vue框架进行开发,后端使用SpringBoot框架搭建服务端应用。数据库采用MySQL进行数据存储和管理。整个系统通过前后端分离的方式实现,提高了系统的可维护性和可扩展性。同时,系统还采用了一些流行的技术和工具,如MyBatis、JPA等进行数据访问和操作,以及Maven进行项目管理和构建。 总之,本系统是一个基于SpringBoot开发的华府便利店信息管理系统,使用了Vue和MySQL作为前端框架和数据库。系统经过严格调试,确保可以运行。如果基础还行,可以在代码基础之上进行改动以实现更多功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值