彭博面试题:带通配符的二进制字符串(示例版)

62次阅读
没有评论
Binary Strings with Wildcards

Input: "01?0"  -> 0100, 0110
Input: "01??" -> 0100, 0110, 0111, 0101

这是之前“通配符二进制串”题目的精简示例版:给定只含 0/1/? 的字符串,把每个 ? 替换成 01,输出所有可能结果。示例说明:一个 ? 会产生 2 个结果,两个 ? 会产生 2²=4 个结果。本质仍然是用回溯 / DFS 在每个 ? 处分叉。


Bloomberg Interview Question: Desert Ride with Rocks (Blocked Cells)

彭博面试题:带岩石障碍的沙漠寻路问题

// const desert = [
//   ['.', '.', '.', '.', '.', '.', '.', 'o'],
//   ['.', 'r', 'r', 'r', 'r', 'r', 'r', 'r'],
//   ['.', '.', '.', '.', '.', '.', '.', '.'],
//   ['.', '.', 'c', '.', '.', '.', '.', '.'],
// ];
//
// .  sand
// c  car
// o  oasis
// r  rock
//
// ride(desert, 5) -> false

这是沙漠寻路题的升级版:地图中除了沙地 '.'、起点 'c' 和终点 'o' 外,还加入了岩石 'r' 这种 无法通行 的格子。小车每走一步消耗 1 单位油,只能在沙地上移动,不能踩到 'r'。给定最大油量 gas,要判断是否能在油耗尽前从 'c' 走到 'o'。典型解法仍然是 BFS/ 最短路,只是把岩石格子当作障碍不入队。

正文完
 0