8.5

1.第一题
在这里插入图片描述

class Solution:
    def exist(self, board: List[List[str]], word: str) -> bool:
        r,c=len(board),len(board[0])
        ans=[]
        for i in range(r):
            for j in range(c):
                if board[i][j]==word[0]:
                    if self.dfs(board,i,j,word):return True
        return False
        
    def dfs(self,tmp,i,j,word):
    	if not word:return True
    	if not(i>=0 and i<len(tmp)) or not(j>=0 and j<len(tmp[0])):
       	    return False
   	if not tmp[i][j]==word[0]:return False
    	tmp[i][j]+=' '
    	res=self.dfs(tmp,i+1,j,word[1:]) or\
        self.dfs(tmp,i-1,j,word[1:]) or \
        self.dfs(tmp,i,j+1,word[1:]) or \
        self.dfs(tmp,i,j-1,word[1:])
        tmp[i][j]=tmp[i][j][:-1]
        return res

2.第二题:
在这里插入图片描述
用python集合比较:

class Solution:
    def findWords(self, words: List[str]) -> List[str]:
        demo1=set('qwertyuiop')
        res=[]
        demo2=set('asdfghjkl')
        demo3=set('zxcvbnm')
        for word in words:
            word_set=set(word.lower())
            if word_set<=demo1 or word_set<=demo2 or word_set<=demo3:
                res.append(word)
        return res
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值