LeetCode-36-Valid Sudoku 位运算状压,python的ascll,char互转

来源:互联网 发布:java员工管理系统代码 编辑:程序博客网 时间:2024/06/05 18:59


class Solution(object):    def isValidSudoku(self, board):        """        :type board: List[List[str]]        :rtype: bool        """        verti=[0]*9        horiz=[0]*9        area=[0]*9        for i in range(9):            for j in range(9):                c=board[i][j]                if c=='.':continue                num=ord(c)-ord('0')                                if verti[i]&(1<<num)!=0:                    return False                verti[i]|=1<<num                                if horiz[j]&(1<<num)!=0:                    return False                horiz[j]|=1<<num                                p=i/3*3+j/3                if area[p]&(1<<num)!=0:                    return False                area[p]|=1<<num        return True


原创粉丝点击