Remove duplicates and find constrained longest subsequence | Salesforce Interview Question