leetcode 3243

原题链接 本题的求解思路为:模拟即可

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
class Solution {
public:
    int finalPositionOfSnake(int n, vector<string>& commands) {
        int startX = 0, startY = 0;
        for (auto& command : commands) {
            if (command == "RIGHT" || command == "LEFT")
                startY = startY + (command == "LEFT" ? -1 : 1);
            else if (command == "UP" || command == "DOWN")
                startX = startX + (command == "UP" ? -1 : 1);
        }
        return ((startX)*n - 1) + startY + 1;
    }
};

时间复杂度分析

  1. 遍历commands数字时间复杂度为O(N)

空间复杂度分析

  1. 常量的存储空间 O(1)