leetcode刷题 79 80
【摘要】
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 se...
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
文章来源: maoli.blog.csdn.net,作者:刘润森!,版权归原作者所有,如需转载,请联系作者。
原文链接:maoli.blog.csdn.net/article/details/90544935
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)