题目:
有一个机器人在原点,现在给他一个移动序列,判断该机器人运动后是否回到原点。
也就是说,机器人上下and左右移动的距离是否分别相等
简化就是判断“L”“R”出现的次数是否相等,“U”“D”出现的次数是否相等
#include <iostream>
#include <unordered_map>
using namespace std;
class Solution {
public:
bool judgeCircle(string moves) {
int len = moves.length();
unordered_map<char,int> um;
if(len % 2 != 0)
return false;
else{
for(char ch : moves)
um[ch]++;
return (um['L'] == um['R'] && um['U'] == um['D']);
}
}
};
int main() {
Solution s;
cout << s.judgeCircle("UD") << endl;
system("pause");
return 0;
}
本文介绍了一个简单的算法,用于判断机器人根据给定的移动序列是否能返回到起点。通过使用 C++ 和 unordered_map 来计数不同方向的移动次数,进而判断机器人是否能够回到原点。
230

被折叠的 条评论
为什么被折叠?



