如何在Golang中找到下一个按字母顺序更大的字符串?

huangapple go评论89阅读模式
英文:

How to find the next greater string in alphabetical order in Golang?

问题

你可以使用字符串替换函数来实现将字符串 "abcd" 中的 "d" 替换为 "e",从而得到 "abce"。具体的代码如下:

my_string = "abcd"
new_string = my_string.replace("d", "e")
print(new_string)  # 输出结果为 "abce"

这段代码中,replace() 函数接受两个参数,第一个参数是要被替换的子字符串,第二个参数是替换后的新字符串。通过调用 replace() 函数,将 "d" 替换为 "e",得到了新的字符串 "abce"。最后,使用 print() 函数将新字符串输出到控制台。

英文:

eg: abcd -> abce , qwer -> qwes etc

my_string := "abcd"

How can I get my_string to have "abce" ?

答案1

得分: 2

逻辑上:观察最后一个字母。如果它不是 z,则将其增加一。如果它是 z,则将其设置为 a,然后观察倒数第二个字母。如果它不是 z,则将其增加 1。如果它是 z,则将其设置为 a,并观察倒数第三个字母...以此类推。

试着自己解码这段代码,这个挺有趣的。如果你想要代码,只需回复,我会解码出来。

英文:

Logically:
Look at the last letter. If its not z, increment it by one. If it is z, set it to a, then look at the second to last letter. If its not z, increment it by 1. If it is z, set it to a and look at the third to last letter.... and so on

Try and figure out the code your self, this ones actually kind of fun. If you want the code just reply and I'll work it out

答案2

得分: 1

根据@Mauricio的说法,以相反的顺序解析字符。如果字符不是'z',则将其递增。如果所有字符都是'z',则将第一个'z'替换为'aa'。

go playground链接

英文:

as @Mauricio said,parse characters in reverse order.increment a character if it is not 'z'.if all characters are 'z' then replace the first 'z' with 'aa'.

go playground link

huangapple
  • 本文由 发表于 2017年5月26日 15:21:24
  • 转载请务必保留本文链接:https://go.coder-hub.com/44195872.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定