Cho chuỗi s. Loại bỏ các ký tự đã xuất hiện trước đó, chỉ giữ lại lần xuất hiện đầu tiên của mỗi ký tự. Kết quả là chuỗi các ký tự duy nhất theo thứ tự xuất hiện ban đầu.
Ví dụ: "cabbbaadac" → "cabd".
Cách thực hiện
Sử dụng OrderedDict từ module collections (hoặc dict thường trong Python 3.7+ vì dict bảo toàn thứ tự chèn).
- Duyệt từng ký tự
ctrongs. - Nếu
cchưa có trong dict, thêm vào với giá trị bất kỳ. - Cuối cùng, nối các key của dict thành chuỗi kết quả.
Ví dụ mã nguồn
from collections import OrderedDict
def solve(s):
d = OrderedDict()
for c in s:
if c not in d:
d[c] = 0
d[c] += 1
return ''.join(d.keys())
s = "cabbbaadac"
print(solve(s)) # cabd
Đầu vào / Đầu ra
Input: "cabbbaadac"
Output: cabd