316-Remove-Duplicate-Letters
Sat 17 May 2025
https://leetcode.com/problems/remove-duplicate-letters
import pyutil as pyu
pyu.get_local_pyinfo()
print(pyu.ps2("python-dotenv"))
from typing import List
class Solution:
def removeDuplicateLetters(self, s: str) -> str:
ans = []
count = Counter(s)
used = [False] * 26
for c in s:
count[c] -= 1
if used[ord(c) - ord('a')]:
continue
while ans and ans[-1] > c and count[ans[-1]] > 0:
used[ord(ans[-1]) - ord('a')] = False
ans.pop()
ans.append(c)
used[ord(ans[-1]) - ord('a')] = True
return ''.join(ans)
new Solution().removeDuplicateLetters()
Score: 5
Category: leetcode