For strings A, B, when len(A) > len(B), the longest possible subsequence of either A or B is A, and no subsequence of B can be equal to A. Answer: len(A).
When len(A) == len(B), the only subsequence of B equal to A is B; so as long as A != B, the answer remains len(A).
When A == B, any subsequence of A can be found in B and vice versa, so the answer is -1.
def findLUSlength(self, A, B): if A == B: return -1 return max(len(A), len(B))
(Edited) Make it 1 line.
def findLUSlength(self, a, b): return -1 if a==b else max(len(a), len(b))
Little bug, gets (fixed now)
Line 3: NameError: global name 'A' is not defined.
And just some silly golfing:
return-1if a==b else max(len(a),len(b)) return a!=b and max(len(a),len(b))or-1 return(a!=b)*max(len(a),len(b))or-1
@StefanPochmann Thx, I make the same little bug everytime.
Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.