leetcode刷题79 80

    xiaoxiao2023-10-05  151

    class Solution(object): def exist(self, board, word): """ :type board: List[List[str]] :type word: str :rtype: bool """ for i in range(len(board)): for j in range(len(board[0])): if self.search(board,word,i,j,0): return True return False def search(self,board,word,i,j,idx): if idx==len(word): return True if 0<=i<len(board) and 0<=j<len(board[0]) and board[i][j]==word[idx]: temp, board[i][j] = board[i][j], '0' direction = ((1,0),(-1,0),(0,1),(0,-1)) for x, y in direction: if self.search(board,word,i+x,j+y,idx+1): return True board[i][j]=temp return False
    class Solution: def exist(self, g: List[List[str]], word: str) -> bool: R, C = len(g), len(g[0]) def spread(i, j, w): if not w: return True original, g[i][j] = g[i][j], '-' spreaded = False for x, y in ((i-1, j), (i+1, j), (i, j-1), (i, j+1)): if (0<=x<R and 0<=y<C and w[0]==g[x][y] and spread(x, y, w[1:])): spreaded = True break g[i][j] = original return spreaded for i in range(R): for j in range(C): if g[i][j] == word[0] and spread(i, j, word[1:]): return True return False

    class Solution: def removeDuplicates(self, nums: List[int]) -> int: # i = 0 #for e in nums: # if i < 2 or e != nums[i - 2]: # nums[i] = e # i += 1 #return i n = len(nums) if n < 3: return n start, tail = 0, 2 for i in range(2, n): if nums[i] != nums[tail - 1] or nums[i] != nums[tail - 2]: nums[tail] = nums[i] tail += 1 return tail 刘润森! 认证博客专家 Python Java 前端 17年就读于东莞XX学院化学工程与工艺专业,GitChat作者。Runsen的微信公众号是"Python之王",因为Python入了IT的坑,从此不能自拔。公众号内容涉及Python,Java计算机、杂谈。干货与情怀同在。喜欢的微信搜索:「Python之王」。个人微信号:RunsenLiu。不关注我公号一律拉黑!!!
    最新回复(0)