其他分享
首页 > 其他分享> > 每日一练 — 2022.01.20

每日一练 — 2022.01.20

作者:互联网

文章目录


一,字符串相乘

1,程序简介

示例 1:

示例 2:

说明:

2,程序代码

# -*- coding: utf-8 -*-
"""
Created on Wed Jan 19 21:30:10 2022
Function: 字符串相乘
@author: 小梁aixj
"""
class Solution(object):
    def multiply(self, num1, num2):
        if num1 == '0' or num2 == '0':
            return '0'
        res = ''
        ls1, ls2, = len(num1), len(num2)
        ls = ls1 + ls2
        arr = [0] * ls
        for i in reversed(range(ls1)):
            for j in reversed(range(ls2)):
                arr[i + j + 1] += int(num1[i]) * int(num2[j])
        for i in reversed(range(1, ls)):
            arr[i - 1] += arr[i] / 10
            arr[i] %= 10
        pos = 0
        if arr[pos] == 0:
            pos += 1
        while pos < ls:
            res = res + str(arr[pos])
            pos += 1
        return res
if __name__ == '__main__':
    s = Solution()
    print (s.multiply("2", "3"))

3,运行结果

在这里插入图片描述

二,有效的数独

1,程序简介

  1. 数字 1-9 在每一行只能出现一次。
  2. 数字 1-9 在每一列只能出现一次。
  3. 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图)

注意:

示例 1:

示例 2:

提示:

2,程序代码

# -*- coding: utf-8 -*-
"""
Created on Wed Jan 19 21:30:52 2022
Function: 有效的数独
@author: 小梁aixj
"""
from typing import List
class Solution:
    def isValidSudoku(self, board):
        """
        :type board: List[List[str]]
        :rtype: bool
        """
        raw = [{},{},{},{},{},{},{},{},{}]
        col = [{},{},{},{},{},{},{},{},{}]
        cell = [{},{},{},{},{},{},{},{},{}]
        for i in range(9):
            for j in range(9):                                 
                num = (3*(i//3) + j//3)
                temp = board[i][j]
                if temp != ".":
                    if temp not in raw[i] and temp not in col[j] and temp not in cell[num]:
                        raw [i][temp] = 1
                        col [j][temp] = 1
                        cell [num][temp] =1
                    else:
                        return False    
        return True
# %%
s = Solution()
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"]]
print(s.isValidSudoku(board))

3,运行结果

在这里插入图片描述

标签:20,num1,num2,示例,temp,每日,board,2022.01,数独
来源: https://blog.csdn.net/m0_62617719/article/details/122590303