华为有2次机试的题目特别像,都用BFS可求解。第一次是送外卖(本人考试),题目意思大概就是“给定起始位置N和目的楼层M,骑手可以上一层楼N+1/下一层楼N-1/坐电梯上到2N,花费时间都是1s,问最快多久能到达目的楼层?”第二次是给定一个矩阵,矩阵内是能量值,每走一步每个格子的能量值都会减去1,当一个格子的能量值变为0时,这个格子就变成死路无法再走。求解从(0,0)走的(row - 1, col -1)所花费的最短步数?如果无法走到终点,输出-1.附上第一题的代码,BFS的框架基本都差不多,结题思路清晰~
全部评论
(3) 回帖