Given a string s, return the lexicographically smallest subsequence of s that contains all the distinct characters of s exactly once.
Example 1:
**Input:** s = "bcabc"
**Output:** "abc"
Example 2:
**Input:** s = "cbacdcbc"
**Output:** "acdb"
Constraints:
1 <= s.length <= 1000sconsists of lowercase English letters.
Note: This question is the same as 316: https://leetcode.com/problems/remove-duplicate-letters/