饿了么内推饿了么面经
饿了么算法题目
贪心算法
- 任务调度问题:有 n 个任务,每个任务都有开始时间和结束时间,且在同一时间只能执行一个任务。要求设计一个算法,选择尽可能多的任务来执行,使得总的任务完成数量最多。
- 加油站问题:在一条环形公路上有 n 个加油站,每个加油站都有一定的油量,从一个加油站到下一个加油站需要消耗一定的油量。假设汽车的初始油量为 0,问是否存在一个起点,使得汽车从该起点出发能够绕环形公路一周,且在行驶过程中不会出现油量为负的情况。如果存在,找出这个起点;如果不存在,说明原因。
搜索算法
- 迷宫寻路问题:给定一个二维迷宫矩阵,其中 0 表示通路,1 表示墙壁。起点为迷宫的左上角,终点为迷宫的右下角。要求使用深度优先搜索(DFS)或广度优先搜索(BFS)算法找出从起点到终点的最短路径。
- 单词搜索:给定一个二维字符矩阵和一个单词,要求判断该单词是否存在于矩阵中。单词可以由相邻的单元格中的字母组成,其中 “相邻” 单元格是指那些水平相邻或垂直相邻的单元格。同一个单元格中的字母在一个单词中不能被重复使用。