在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
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP