LeetCode #2381

Shifting Letters II

1개의 풀이 · C++

문제 원문 보기 ↗

SOLUTION INFO

C++ · main.cpp

main.cpp
class Solution {
public:
    string shiftingLetters(string s, vector<vector<int>>& shifts) {
        int N = (int)s.size();
        vector<int> P(N + 1);
        for(const vector<int> &shift: shifts) {
            int start = shift[0];
            int end = shift[1];
            int direction = 2 * shift[2] - 1;
            P[start] += direction;
            P[end + 1] -= direction;
        }
        int cur = 0;
        for(int i = 0; i < N; ++i) {
            cur = (cur + P[i] % 26 + 26) % 26;
            s[i] = (char)((s[i] - 'a' + cur) % 26 + 'a');
        }
        return s;
    }
};

SOLUTION DESCRIPTION

풀이 설명

등록된 풀이 설명이 없습니다.