python-algorithm
leetcode 316. Remove Duplicate Letters
무적김두칠
2023. 2. 23. 22:26
https://leetcode.com/problems/remove-duplicate-letters/description/
Remove Duplicate Letters - LeetCode
Can you solve this real interview question? Remove Duplicate Letters - Given a string s, remove duplicate letters so that every letter appears once and only once. You must make sure your result is the smallest in lexicographical order among all possible re
leetcode.com
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
class Solution:
def removeDuplicateLetters(self, s: str) -> str:
counter, duplicate_check, stack = collections.Counter(s), set(), []
for char in s:
counter[char]-=1
if char in duplicate_check:
continue
while stack and char < stack[-1] and counter[stack[-1]] > 0:
duplicate_check.remove(stack.pop())
stack.append(char)
duplicate_check.add(char)
answer = ''.join(stack)
return answer
|
cs |
반응형