题目描述
题目描述
题解
题解
提交记录
提交记录
中等

给你一个由字符 'U'、'D'、'L'、'R' 和 '_' 组成的字符串 moves。

从原点 (0, 0) 出发,每个字符表示二维平面上的一次移动:

  • 'U':向上移动 1 个单位。
  • 'D':向下移动 1 个单位。
  • 'L':向左移动 1 个单位。
  • 'R':向右移动 1 个单位。
  • '_':可以独立地替换为 'U'、'D'、'L' 或 'R' 中的任意一个字符。

返回执行完所有移动后,能够达到的距离原点的 最大曼哈顿距离 。

两点 (x1, y1) 和 (x2, y2) 之间的 曼哈顿距离 为 |x1 - x2| + |y1 - y2|。

 

示例 1:

输入: moves = "L_D_"

输出: 4

解释:

一种最优选择为:

  • 'L':(0, 0) -> (-1, 0)
  • 将 '_' 视为 'D':(-1, 0) -> (-1, -1)
  • 'D':(-1, -1) -> (-1, -2)
  • 将 '_' 视为 'L':(-1, -2) -> (-2, -2)

最终位置到原点的曼哈顿距离为 |0 - (-2)| + |0 - (-2)| = 4。

示例 2:

输入: moves = "U_R"

输出: 3

解释:

一种最优选择为:

  • 'U':(0, 0) -> (0, 1)
  • 将 '_' 视为 'U':(0, 1) -> (0, 2)
  • 'R':(0, 2) -> (1, 2)

最终位置到原点的曼哈顿距离为 |0 - 1| + |0 - 2| = 3。

 

提示:

  • 1 <= moves.length <= 105
  • moves 仅由 'U'、'D'、'L'、'R' 和 '_' 组成。
 
代码
代码
测试用例
测试用例
测试结果
测试结果