首页 > 编程知识 正文

python有什么用,python统计单词出现次数

时间:2023-05-04 17:47:43 阅读:53868 作者:398

主题要求:

想法:

首先遍历数组,找到可能的起点

定义一个helper函数,遍历当前起点的上、下、左、右元素,以确定是否有匹配给定单词的下一位,或者递归调用helper函数

如果上下左右下标越界,或者当前数组元素与当前单词的字符不同,则返回False

核心代码:

#遍历二维数组

傅里叶(len )板) :

forjinrange(Len ) board[0] ) :

#调用辅助函数

ifself.Helper(Board,I,j,word,0 ) :

返回真

返回假

#定义辅助函数:

defHelper(self,board,I,j,word,index ) :

#如果当前下标等于单词的长度,则表示前面的所有字符都匹配,并返回True

ifindex==Len(word ) :

返回真

#如果当前下标越界,或者当前元素字符与单词中的字符不同,则返回False

IfI0orI=len(board ) orj0orj ) len ) board[0] ) or board[i][j]!=word[index]:

返回假

#标记当前通过的数组元素的步骤

board[i][j]='* '

#递归调用当前元素的上下左右,查看是否与单词中的下一个字符相同

found=self.helper (板,i 1,j,word,索引1 ) ) ) ) ) ) ) ) )。

or self.helper (板,I,j 1,word,索引1 ) ) )。

or self.helper (板,i-1,j,word,索引1 ) )。

or self.helper (板,I,j-1,word,索引1 ) )。

#撤消标记的值

board [ I ] [ j ]=word [索引]

返回基金

完整代码:

类解决方案(对象) :

efExist(self,board,word ) :

''''

3360类型板: list [ list [ str ] ]

:type word: str

:rtype: bool

''''

傅里叶(len )板) :

forjinrange(Len ) board[0] ) :

ifself.Helper(Board,I,j,word,0 ) :

返回真

返回假

defHelper(self,board,I,j,word,index ) :

ifindex==Len(word ) :

返回真

IfI0orI=len(board ) orj0orj ) len ) board[0] ) or board[i][j]!=word[index]:

返回假

board[i][j]='* '

found=self.helper (板,i 1,j,word,索引1 ) ) ) ) ) ) ) ) )。

or self.helper (板,I,j 1,word,索引1 ) ) )。

or self.helper (板,i-1,j,word,索引1 ) )。

or self.helper (板,I,j-1,word,索引1 ) )。

board [ I ] [ j ]=word [索引]

返回基金

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。