### --n--'s blog

By --n--, history, 6 weeks ago,

Given two strings A and B of equal length with characters from the set {1,2}. A string S is a good string if you move exactly S[i] steps forward or backward at i’th position and ended at the last position such that you covered all positions exactly once. Given two good strings A and B, you have to tell the number of possible swapping between the corresponding positions in the strings such that the strings remain good.

Example: A = 2211 B = 1111

Answer : 8 Correct swappings {}, {1, 2}, {1, 2, 3}, {1, 2, 4}, {1, 2, 3, 4}, {3}, {4}, {3, 4}

Please help me optimize the approach. Currently I am able to think of the brute solution in which we can generate all the subsequence and then perform swapping on the strings and after that checking whether the string is good or not. Time complexity = O(n*(2^n))

Is there any way to optimize the solution.

• +6

 » 6 weeks ago, # |   0 I want to check my solution. Can you link the problem? Or did you made it yourself? I am sure it can be solved in O(n).
•  » » 6 weeks ago, # ^ |   0 Actually it is an interview problem so no link available.
•  » » 4 weeks ago, # ^ |   0 Can you tell your approach?
•  » » 9 days ago, # ^ |   0 Please share your approach.