化工课设代做网站,设计参考图网站,做网站点击软件,深圳尼高网站建设文章目录1. 题目2. 解题1. 题目
现有一个 n x n 大小的网格#xff0c;左上角单元格坐标 (0, 0) #xff0c;右下角单元格坐标 (n - 1, n - 1) 。 给你整数 n 和一个整数数组 startPos #xff0c;其中 startPos [startrow, startcol] 表示机器人最开始在坐标为 (startrow…
文章目录1. 题目2. 解题1. 题目
现有一个 n x n 大小的网格左上角单元格坐标 (0, 0) 右下角单元格坐标 (n - 1, n - 1) 。 给你整数 n 和一个整数数组 startPos 其中 startPos [startrow, startcol] 表示机器人最开始在坐标为 (startrow, startcol) 的单元格上。
另给你一个长度为 m 、下标从 0 开始的字符串 s 其中 s[i] 是对机器人的第 i 条指令L向左移动R向右移动U向上移动和 D向下移动。
机器人可以从 s 中的任一第 i 条指令开始执行。 它将会逐条执行指令直到 s 的末尾但在满足下述条件之一时机器人将会停止
下一条指令将会导致机器人移动到网格外。没有指令可以执行。
返回一个长度为 m 的数组 answer 其中 answer[i] 是机器人从第 i 条指令 开始 可以执行的 指令数目 。
示例 1
输入n 3, startPos [0,1], s RRDDLU
输出[1,5,4,3,1,0]
解释机器人从 startPos 出发并从第 i 条指令开始执行
- 0: RRDDLU 在移动到网格外之前只能执行一条 R 指令。
- 1: RDDLU 可以执行全部五条指令机器人仍在网格内最终到达 (0, 0) 。
- 2: DDLU 可以执行全部四条指令机器人仍在网格内最终到达 (0, 0) 。
- 3: DLU 可以执行全部三条指令机器人仍在网格内最终到达 (0, 0) 。
- 4: LU 在移动到网格外之前只能执行一条 L 指令。
- 5: U 如果向上移动将会移动到网格外。示例 2
输入n 2, startPos [1,1], s LURD
输出[4,1,0,0]
解释
- 0: LURD
- 1: URD
- 2: RD
- 3: D示例 3
输入n 1, startPos [0,0], s LRUD
输出[0,0,0,0]
解释无论机器人从哪条指令开始执行都会移动到网格外。提示
m s.length
1 n, m 500
startPos.length 2
0 startrow, startcol n
s 由 L、R、U 和 D 组成来源力扣LeetCode 链接https://leetcode-cn.com/problems/execution-of-all-suffix-instructions-staying-in-a-grid 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 2. 解题
朴素模拟
class Solution {
public:vectorint executeInstructions(int n, vectorint startPos, string s) {int x startPos[0], y startPos[1], len s.size();vectorint ans(len, 0);for(int i 0, j; i len; i){x startPos[1], y startPos[0]; //注意顺序别写反j i;for( ; j len; j){if(s[j] L) --x;else if(s[j] R) x;else if(s[j] U) --y;else if(s[j] D) y;if(x0 || xn || y0 || yn) break;}ans[i] j-i;}return ans;}
};24 ms 9.9 MB C 我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号Michael阿明一起加油、一起学习进步