在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]
- 对于 j in range(0, 25):
- 对于 i in range(26 -(extra + 1), 25):
- 返回 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
广告