在 Python 中查找一个字符串,使得每个字符的字典顺序都大于其紧邻的下一个字符
server side programmingprogrammingpython
假设我们有一个数字 n;我们必须检查长度为 n+1 的小写字符串,以便任何位置的字符在字典顺序上都应大于其紧邻的下一个字符。
因此,如果输入为 15,则输出将为 ponmlkjihgfedcba。
为了解决这个问题,我们将遵循以下步骤 −
- temp_str := 空字符串
- extra := n mod 26
- 如果 extra >= 1,则
- 对于 i 在 26 -(extra + 1) 到 25 的范围内,执行
- temp_str := temp_str + str[i]
- count := n / 26(整数除法)
- 对于 i 在范围内1 到 count + 1,执行
- 对于 j 在 0 到 25 范围内,执行
- temp_str := temp_str + str[j]
- 对于 j 在 0 到 25 范围内,执行
- 对于 i 在 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