Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public:
- string pushDominoes(string A) {
- int n = A.size();
- int dist[n];
- memset(dist, 0, sizeof(dist));
- // dist from left.
- int force = 0;
- for(int i=0; i<n; i++){
- if(A[i] == 'R') force = n;
- else if(A[i] == 'L') force = 0;
- else force = max(force-1, 0);
- dist[i] += force;
- }
- // dist from right.
- force = 0;
- for(int i=n-1; i>=0; i--){
- if(A[i] == 'L') force = n;
- else if(A[i] == 'R') force = 0;
- else force = max(force-1, 0);
- dist[i] -= force;
- }
- string ans = "";
- for(int i=0; i<n; i++){
- if(dist[i] > 0) ans += "R";
- else if(dist[i] < 0) ans += "L";
- else ans += ".";
- }
- return ans;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment