Leetcode题库——36.有效的数独
@author: ZZQ
@software: PyCharm
@file: leetcode36_isValidSudoku.py
@time: 2018/11/19 19:27
要求:判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。
数字 1-9 在每一行只能出现一次。
数字 1-9 在每一列只能出现一次。
数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。
思路: 纯暴力解决。
class Solution():
def __init__(self):
pass
def isValidSudoku(self, board):
"""
:type board: List[List[str]]
:rtype: bool
"""
row_list = [0] * 9
col_list = [0] * 9
for i in range(9):
for j in range(9):
if board[i][j] != '.':
if col_list[int(board[i][j])-1] == 0:
col_list[int(board[i][j])-1] = 1
else:
return False
if board[j][i] != '.':
if row_list[int(board[j][i])-1] == 0:
row_list[int(board[j][i])-1] = 1
else:
return False
row_list = [0] * 9
col_list = [0] * 9
rect_list = [0] * 9
for k in range(3):
for t in range(3):
for i in range(3):
for j in range(3):
if board[k*3 + i][t*3 + j] != '.':
if rect_list[int(board[k*3 + i][t*3 + j])-1] == 0:
rect_list[int(board[k*3 + i][t*3 + j])-1] = 1
else:
return False
rect_list = [0] * 9
return True
Leetcode题库——36.有效的数独的更多相关文章
- leetcode题库
leetcode题库 #题名题解通过率难度出现频率 1 两数之和 46.5%简单2 两数相加 35.5%中等3 无重复字符的最长子串 31.1%中等4 寻找两个有序数组的中位 ...
- leetcode题库练习_数组中重复的数字
题目:数组中重复的数字 找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次 ...
- leetcode题库解答源码(python3)
下面和大家分享本人在leetcode上已经ace的题目源码(python3): 本人会持续更新!- class Leetcode_Solution(object): def twoSum_1(self ...
- Leetcode题库——7.反转整数
@author: ZZQ @software: PyCharm @file: IntReverse.py @time: 2018/9/16 16:36 要求:整数反转(给定一个 32 位有符号整数,将 ...
- LeetCode题库整理(自学整理)
1. Two Sum 两数之和 来源:力扣(LeetCode) 题目:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数.你可以假设每个输入只对应一种答案,且同样的元素不能被重复利 ...
- LeetCode题库13. 罗马数字转整数(c++实现)
问题描述: 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ...
- Leetcode题库——49.字母异位词分组【##】
@author: ZZQ @software: PyCharm @file: leetcode49_groupAnagrams.py @time: 2018/11/19 13:18 要求:给定一个字符 ...
- Leetcode题库——48.旋转图像
@author: ZZQ @software: PyCharm @file: rotate.py @time: 2018/11/16 15:41 要求:给定一个 n × n 的二维矩阵表示一个图像.将 ...
- Leetcode题库——47.全排列II
@author: ZZQ @software: PyCharm @file: permuteUnique.py @time: 2018/11/16 13:34 要求:给定一个可包含重复数字的序列,返回 ...
随机推荐
- PyQt5--GridLayoutMultiLine
# -*- coding:utf-8 -*- ''' Created on Sep 13, 2018 @author: SaShuangYiBing ''' import sys from PyQt5 ...
- jstl格式化日期
<%@ page contentType="text/html" pageEncoding="GBK"%> <%@ page import=& ...
- git版本管理工具-git的概述
什么是git Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目的一种工具 Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不 ...
- linux 的常用命令---------第五阶段
计划任务 计划任务的作用:做一些周期性的任务,在生产中的主要用来定期备份数据. 计划任务分类 :1. 一次性的任务 仅执行一次就完成了: 使用命令 at 2. 周期性的任务 定期自动执行完成 ...
- 安装的 Linux 软件包有多少?
导读 你有没有想过你的 Linux 系统上安装了几千个软件包? 是的,我说的是“千”. 即使是相当一般的 Linux 系统也可能安装了上千个软件包. 有很多方法可以获得这些包到底是什么包的详细信息. ...
- ubuntu16.04下的htk安装编译
HTK(HMM Tools Kit)是一个剑桥大学开发的专门用于建立和处理HMM的实验工具包[1],主要应用于语音识别领域,也可以应用于语音合成.字符识别和DNA排序等领域.HTK经过剑桥大学.Ent ...
- C. Sad powers
You're given Q queries of the form (L, R). For each query you have to find the number of such x that ...
- 20155207 实验5 MSF基础应用
20155207 实验5 MSF基础应用 基础问题回答 用自己的话解释什么是exploit,payload,encode exploit:让攻击方式能够发挥作用的通道,更像是没有子弹的枪,提供了攻击方 ...
- 20155306 白皎 《网络攻防》 EXP8 Web基础
20155306 白皎 <网络攻防> EXP8 Web基础 一.问题回答 - 什么是表单 表单:一般用来收集用户的信息和反馈意见 表单包括两个部分:一部分是HTML源代码用于描述表单(例如 ...
- # 2017-2018-2 20155319《网络对抗技术》Exp9 :Web安全基础
2017-2018-2 20155319<网络对抗技术>Exp9 :Web安全基础 实践过程 webgoat准备 从GitHub上下载jar包(老师的虚拟机中有 无需下载) 拷贝到本地,并 ...