趋势科技校招笔试
- C++的字节对齐
- CSRF攻击发生在哪一层—会话层
- socket的方法使用:gethostbyname,getpeername这些的
- having和groupby的区别
- cpu长时间占用90%可能的原因:应该不是和IO有关的比如下载文件和写入文件,应该是绘画图像,计算相关的
- 能确保线程由运行态变成其他状态的接口函数有哪些–运行–>挂起;运行–>阻塞;运行–>就绪;运行–>终止
- Linux中system和exec的区别
- 代码题:给定中序和后序结果,输出前序遍历的结果;把数字字符串的n个数字截掉,求剩下的最小的数字字符串
网易有道测试开发
- 代码题1:求排列组合数,但是是进阶版
- 代码题2:求编辑距离,也是进阶版,试求句子中单词的编辑距离
- 代码题3:回文串,也是进阶版,把所有回文串个数写出来
- 代码题4:图相关
- 其他:设计全自动测试方案;从用户的角度分析IOS和Android的使用体验
单词搜索
链接:题目链接
题目描述
给定一个二维网格和一个单词,找出该单词是否存在于网格中。
单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。
示例:
board =
[
[‘A’,‘B’,‘C’,‘E’],
[‘S’,‘F’,‘C’,‘S’],
[‘A’,‘D’,‘E’,‘E’]
]
给定 word = “ABCCED”, 返回 true
给定 word = “SEE”, 返回 true
给定 word = “ABCB”, 返回 false
解题思路—回溯+递归
和剑指offer的一题是一样的,采用回溯递归即可,递归做好递归返回判断即可,在每个位置都有上下左右的方向去寻找单词
代码实现
class Solution:
def exist(self, board: List[List[str]], word: str) ->