在Python中查找一个字符串,其中每个字符都比其紧邻的下一个字符在字典序中更大


假设我们有一个数字n;我们必须检查长度为n+1的小写字符串,以便任何位置的字符在字典序中都大于其紧邻的下一个字符。

所以,如果输入是15,那么输出将是ponmlkjihgfedcba。

为了解决这个问题,我们将遵循以下步骤:

  • temp_str := 空字符串
  • extra := n mod 26
  • 如果 extra >= 1,则
    • 对于 i in range(26 -(extra + 1), 25):
      • temp_str := temp_str + str[i]
    • count := n // 26 (整除)
    • 对于 i in range(1, count + 1):
      • 对于 j in range(0, 25):
        • temp_str := temp_str + str[j]
  • 返回 temp_str

示例

让我们看看下面的实现,以便更好地理解:

 在线演示

def show_string(n, str):
   temp_str = ""
   extra = n % 26
   if (extra >= 1) :
      for i in range( 26 - (extra + 1), 26):
         temp_str += str[i]
   count = n // 26
   for i in range(1, count + 1) :
      for j in range(26):
         temp_str += str[j]
   return temp_str
n = 15
str = "zyxwvutsrqponmlkjihgfedcba"
print(show_string(n, str))

输入

15

输出

ponmlkjihgfedcba

更新于:2020年8月28日

142 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告