Leetcode # 2337. Move Pieces to Obtain a String
Problem
https://leetcode.com/problems/move-pieces-to-obtain-a-string
Solution
Time Complexity: O(len(start))
Space Complexity: O(len(start))
(The input and output generally do not count towards the space complexity.)
class Solution:
def canChange(self, start: str, target: str) -> bool:
lr_in_start, lr_in_target = [], []
for i in range(len(start)):
if (c := start[i]) != "_":
lr_in_start.append([c, i])
if (c := target[i]) != "_":
lr_in_target.append([c, i])
print(lr_in_start, lr_in_target)
if len(lr_in_start) != len(lr_in_target): return False
for i in range(len(lr_in_start)):
if (c1 := lr_in_start[i][0]) != (c2 := lr_in_target[i][0]): return False
p1 = lr_in_start[i][1]
p2 = lr_in_target[i][1]
if (p1 < p2 if c1 == "L" else p1 > p2): return False
return True
Last Updated on 2024/12/06 by A1go