牛客题解 | 迷路的牛牛
题目
题目难度:一星
考察点:模拟
方法:模拟
-
分析:
按照题意模拟即可,判断向左走了多少步,向右走了多少步,然后得出向左向右走的步数的差值,然后对4进行取模,为什么对4取模呢?是因为一共有NSWE四个方向,所以需要对4取模,如果取模之后得到的结果ans是负数,那么ans=ans+4,因为向右走了1步等价于向左走了三步,然后根据相差的步数来判断到底是哪个方向,为了方便记录向左ans++,向右ans--:
算法实现:
(0). 遍历字符串s,然后如果当前字符为'L',那么ans++,否则ans--。
(1). 将ans对4取模,保证ans最后为区间属于[0,3]。
(2). 判断最后牛牛面向的方向:
如果ans = 0,那么牛牛最后面向的方向为N
如果ans = 1,那么牛牛最后面向的方向为W
如果ans = 2,那么牛牛最后面向的方向为S
如果ans = 3,那么牛牛最后面向的方向为E -
复杂度分析:
时间复杂度:O(n)
空间复杂度:O(1) -
代码:
#include <bits stdc++.h>
using namespace std;
int main() {
int n; cin>>n;
string s; cin>>s;
int ans = 0;
for(int i=0; i</bits>

浙公网安备 33010602011771号