使用 Python 查詢字串中不同整數的數量的程式
假設我們有一個小寫字母數字字串 s。我們需要將每個非數字字元替換為空格,但是現在我們剩下了一些由至少一個空格分隔的整數。我們需要在對 s 執行替換操作後找到不同整數的數量。這裡,如果兩個數字的十進位制表示(不含任何前導零)不同,則認為它們是不同的。
因此,如果輸入類似於 s = "ab12fg012th5er67",則輸出將為 3,因為有一些數字 ["12", "012", "5", "67"],現在 "12" 和 "012" 在字串中不同,但在整數中相同。所以有三個不同的數字。
為了解決這個問題,我們將遵循以下步驟 -
nums := 一個新的列表
k := 空字串
對於 i 從 0 到 s 的大小,執行
如果 s[i] 的 ASCII 碼 > 47 且 s[i] 的 ASCII 碼 < 58,則
k := k 連線 s[i]
否則,
如果 k 不是空字串,則
在 nums 的末尾插入 k 的整數形式
k := 空字串
如果 k 不是空字串,則
在 nums 的末尾插入 k 的整數形式
返回 nums 中不同元素的數量
讓我們看看以下實現,以便更好地理解 -
示例
def solve(s): nums = [] k = "" for i in range(len(s)): if ord(s[i]) > 47 and ord(s[i]) < 58: k += s[i] else: if(k != ""): nums.append(int(k)) k = "" if(k != ""): nums.append(int(k)) return len(set(nums)) s = "ab12fg012th5er67" print(solve(s))
輸入
"ab12fg012th5er67"
輸出
3
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP