如何解决根据另一个字符串在字典上最小的字符串
仅基于> and <
的输入字符串来生成字典上满足条件的最小字符串的算法是什么?
例如
if input is "<<" then answer is "abc" // explanation "a<b<c"--> "a" is less than "b" and so does "c"
if input is "<>" then answer is "aba" // explanation "a<b>a"
if input is "<>><<" then answer is "acbabc" // explanation "a<c>b>a<b<c"
这个问题在一次编码采访中被问到。 约束:输入字符串的长度为2
谢谢。
解决方法
我可以想到一种贪婪的方法(未经测试)。
对于每一个<
,我们只需要关心右边连续有多少>
(这里+1是当前字符与<
的先前字符的关系。
我们还初始化了一个current_char = a
变量。
让我们以<>><<
为例。计数如下所示:
< > > < <
3 1 1
我们现在从数组的左移到右移,并根据current_char + count
值分配值。现在,假设a + 3 = c
也考虑当前字符。
对于连续的>
位,我们只需将current_char
减少1。
< > > < <
3 1 1
a c b a b c
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。