目录

1081:不同字符的最小子序列(2184 分)

力扣第 140 场周赛第 4 题

题目

返回 s 字典序最小的子序列,该子序列包含 s 的所有不同字符,且只包含一次。

示例 1:

输入:s = "bcabc"
输出"abc"

示例 2:

输入:s = "cbacdcbc"
输出:"acdb"

提示:

  • 1 <= s.length <= 1000
  • s 由小写英文字母组成

注意:该题与 316 https://leetcode.cn/problems/remove-duplicate-letters/ 相同

分析

与 0316 完全相同。

解答

1
2
3
4
5
6
7
8
def smallestSubsequence(self, s: str) -> str:
	tmp = ''
	for i, char in enumerate(s):
		if char not in tmp:
			while tmp and tmp[-1]>char and s.find(tmp[-1], i)!=-1:
				tmp = tmp[:-1]
			tmp += char
	return tmp

40 ms