当前位置:  开发笔记 > 程序员 > 正文

如何在字典顺序中获得最小的?

如何解决《如何在字典顺序中获得最小的?》经验,为你挑选了1个好方法。

我正在做一个leetcode练习

https://leetcode.com/problems/remove-duplicate-letters/

问题是:

# Given a string which contains only lowercase letters, remove duplicate
# letters so that every letter appear once and only once. You must make
# sure your result is the smallest in lexicographical order among all possible results.
#
# Example:
# Given "bcabc"
# Return "abc"
#
# Given "cbacdcbc"
# Return "acdb"

我不太确定what is the smallest in lexicographical order和为什么给予"cbacdcbc"然后答案将是"acdb"

谢谢你的答案提前:)



1> Willem Van O..:

给定s(s 1)的第一个字符小于t(t 1)的第一个字符,或者如果它们是等价的,第二个字符,最小的字典顺序是一个顺序关系,其中字符串s小于t.等等

所以aaabbb小于aaac因为虽然前三个字符相等,但第四个字符b小于第四个字符c.

因为cbacdcbc,有几个选项,因为b并且c是重复的,您可以决定删除哪些重复项.这导致:

cbacdcbc = adbc
cbacdcbc = adcb
cbacdcbc = badc
cbacdcbc = badc
...

因为adbc< adcb,你不能简单地回答你脑海中浮现的第一个答案.

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有