给一个矩阵和一个bot的起始位置还有一串命令, 求能运行多少个这个命令的suffix命令.
这题就是模拟题.
class Solution {
public int[] executeInstructions(int n, int[] startPos, String s) {
int[] res = new int[s.length()];
for(int i = 0; i < s.length(); i ++){
res[i] = sim(startPos[0], startPos[1], n, i, s);
}
return res;
}
private int sim(int x, int y, int n, int pos, String s) {
if(pos >= s.length())
return 0;
if(s.charAt(pos) == 'L' && y - 1 >= 0)
return sim(x, y - 1, n, pos + 1, s) + 1;
else if(s.charAt(pos) == 'U' && x - 1 >= 0)
return sim(x - 1, y, n, pos + 1, s) + 1;
else if(s.charAt(pos) == 'R' && y + 1 < n)
return sim(x, y + 1, n, pos + 1, s) + 1;
else if(s.charAt(pos) == 'D' && x + 1 < n)
return sim(x + 1, y, n, pos + 1, s) + 1;
else
return 0;
}
}