Compare commits

..

No commits in common. "8d5f40d02b9a01912b95843c3b3fdc0c1872be54" and "3630da98a001fcd212aee97e6cd18590480f7068" have entirely different histories.

2 changed files with 0 additions and 101 deletions

View File

@ -1,74 +0,0 @@
class Solution:
def isValidSudoku(self, board: list[list[str]]) -> bool:
plates = []
for l in board:
plates.append([])
for ch_num in l:
if ch_num.isalnum():
num = int(ch_num[0])
else:
num = -1
plates[-1].append(num)
def judge_1(plates, i, j):
t = plates[i][j]
for idx, num in enumerate(plates[i]):
if idx == j: continue
if num == t: return False
return True
def judge_2(plates, i, j):
t = plates[i][j]
l = []
for idx in range(0, 9):
l.append(plates[idx][j])
for idx, num in enumerate(l):
if idx == i: continue
if num == t: return False
return True
def judge_3(plates, i, j):
row = i // 3 * 3
col = j // 3 * 3
l = []
for idx1 in range(row, row + 3):
for idx2 in range(col, col + 3):
if idx1 == i and idx2 ==j: continue
l.append(plates[idx1][idx2])
for idx,num in enumerate(l):
if num == plates[i][j]:
return False
return True
for i in range(0, 9):
for j in range(0, 9):
if plates[i][j] == -1: continue
if not judge_1(plates, i, j):
return False
if not judge_2(plates, i, j):
return False
if not judge_3(plates, i, j):
return False
return True
board = [["5","3",".",".","7",".",".",".","."]
,["6",".",".","1","9","5",".",".","."]
,[".","9","8",".",".",".",".","6","."]
,["8",".",".",".","6",".",".",".","3"]
,["4",".",".","8",".","3",".",".","1"]
,["7",".",".",".","2",".",".",".","6"]
,[".","6",".",".",".",".","2","8","."]
,[".",".",".","4","1","9",".",".","5"]
,[".",".",".",".","8",".",".","7","9"]]
sol = Solution()
print(sol.isValidSudoku(board=board))
board = [["8","3",".",".","7",".",".",".","."]
,["6",".",".","1","9","5",".",".","."]
,[".","9","8",".",".",".",".","6","."]
,["8",".",".",".","6",".",".",".","3"]
,["4",".",".","8",".","3",".",".","1"]
,["7",".",".",".","2",".",".",".","6"]
,[".","6",".",".",".",".","2","8","."]
,[".",".",".","4","1","9",".",".","5"]
,[".",".",".",".","8",".",".","7","9"]]
print(sol.isValidSudoku(board=board))

View File

@ -1,27 +0,0 @@
class Solution:
def canConstruct(self, ransomNote: str, magazine: str) -> bool:
ran_dic = {}
mag_dic = {}
for l in ransomNote:
if l not in ran_dic:
ran_dic[l] = 1
else:
ran_dic[l] += 1
for l in magazine:
if l not in mag_dic:
mag_dic[l] = 1
else:
mag_dic[l] += 1
print(ran_dic)
print(mag_dic)
for key in ran_dic:
if key not in mag_dic:
return False
if ran_dic[key] > mag_dic[key]:
return False
return True
sol = Solution()
print(sol.canConstruct("a", "b"))
print(sol.canConstruct("aa", "ab"))
print(sol.canConstruct("aa", "aab"))