首页 / 面试凉经
#

面试凉经

#
3272次浏览 57人互动
此刻你想和大家分享什么
热门 最新
华为面试一面寄经
🕒 岗位/面试时间5.31👥 面试题目手撕代码没当场写出来,一道图论的题目给你一个 m x n 的矩阵 board ,由若干字符 'X' 和 'O' ,找到所有被 'X' 围绕的区域,并将这些区域里所有的 'O' 用 'X' 填充。示例 1:输入:board = [["X","X","X","X"],["X","O","O","X"],["X","X","O","X"],["X","O","X","X"]]输出:[["X","X","X","X"],["X","X","X","X"],["X","X","X","X"],["X","O","X","X"]]解释:被围绕的区间不会存在于边界上,换句话说,任何边界上的 'O' 都不会被填充为 'X'。 任何不在边界上,或不与边界上的 'O' 相连的 'O' 最终都会被填充为 'X'。如果两个元素在水平或垂直方向相邻,则称它们是“相连”的示例2:输入:board = [["X"]]输出:[["X"]]思路: 定义一个结构体,里面存o点的坐标和是否应该转成x。初始化输入地图的时候,把每个o的坐标记录下来,并且标记成true,代表应该翻转。然后初始化完成后遍历这个数组,找到在地图边界的o点,从该点dfs开始遍历,递归把其周围相邻的o点遍历并将flag置为false。dfs流程走完后,最后遍历这个数组,把flag为true的o点转成x就行了。为什么寄了?因为我tmd第一步,也就是初始化数组的时候,应该先输入matrix[i][j],然后判断是不是为o,我写反了,导致输入输出一直没变过。面试完发现秒挂,唉,自己的问题,也没法说啥了 #华为面试# #面试凉经#
华为一面73人在聊 查看2道真题和解析
点赞 评论 收藏
转发
玩命加载中
牛客网
牛客企业服务