Search⌘ K
AI Features

Solution: Remove Duplicate Letters

Understand how to remove duplicate letters from a lowercase string so that each letter appears once and the result is lexicographically smallest. Explore the stack-based greedy algorithm that uses frequency tracking and character visitation for efficient string construction. This lesson helps you grasp an O(n) time and O(1) space solution essential for coding interviews.

Statement

You are given a string, s, consisting only of lowercase English letters. Your task is to remove duplicate letters so that:

  1. Each letter appears only once in the resulting string.

  2. The resulting string is the smallest in lexicographical order among all possible results that satisfy the above condition.

Return the final string.

A string, a, is considered lexicographically smaller than string b if:

  • In the first position where they differ, the character in a appears earlier in the alphabet than in b.

  • If a is a ...