We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.

A simple DP approach works. For example,
a = "aBbdD"
b = "BBD"
since the last character in a is upper case and last character in b is also upper case and both are equal,
f(a,b) = f("aBbd","BB")

Now d can never be made equal to B therfore-
f("aBbd","BB") = f("aBb","BB")

Now b can be capitalized to B,therfore we have two options - either capitalize b to B or dont capitalize b.
f("aBb","BB") = f("aB","B") or f("aB","BB") #Note that this is the 'or' operator. f is a boolean value.

if we have something like a = 'C' and b = 'D' then f(a,b) evaluates to False (boolean value).

Lastly (for initialization of the dp array)-

if a is non-empty and b is empty, then f(a,b) is True only if all the characters in a are lower case.

if a is empty and b is non-empty, then f(a,b) is always False.

## Abbreviation

You are viewing a single comment's thread. Return to all comments →

A simple DP approach works. For example, a = "aBbdD" b = "BBD" since the last character in a is upper case and last character in b is also upper case and both are equal, f(a,b) = f("aBbd","BB")

Now d can never be made equal to B therfore- f("aBbd","BB") = f("aBb","BB")

Now b can be capitalized to B,therfore we have two options - either capitalize b to B or dont capitalize b. f("aBb","BB") = f("aB","B") or f("aB","BB") #Note that this is the 'or' operator. f is a boolean value.

if we have something like a = 'C' and b = 'D' then f(a,b) evaluates to False (boolean value).

Lastly (for initialization of the dp array)-

if a is non-empty and b is empty, then f(a,b) is True only if all the characters in a are lower case.

if a is empty and b is non-empty, then f(a,b) is always False.

if both are empty then f(a,b) = True

Good Luck !!