Python程式:查詢給定範圍內數字的出現次數
假設我們得到了兩個正整數 n 和 d,其中 d 是 0 到 9 之間的數字。我們需要確定數字 d 在 1 到 n 之間的整數中出現了多少次。
例如,如果輸入為 n = 45,d = 5,則輸出為 5。
這些數字包含數字 5:[5, 15, 25, 35, 45]。
為了解決這個問題,我們將遵循以下步驟:
定義一個函式 solve()。它將接收 n 和 d 作為輸入。
如果 n < 0,則
返回 0
k := floor of (n /10) − 1
ans := solve(k, d) * 10 + k + 1
如果 d 等於 0,則
ans := ans − 1
m := floor of (n / 10) * 10
當 m <= n 時,執行以下操作:
ans := ans + m 的字串表示中 d 的字串表示出現的次數。
m := m + 1
返回 ans
在主函式中,現在呼叫該函式:
value := solve(n,d)
print(value)
讓我們來看以下實現,以便更好地理解:
示例
class Solution: def solve(self, n, d): if n < 0: return 0 k = n // 10 − 1 ans = self.solve(k, d) * 10 + k + 1 if d == 0: ans −= 1 m = n // 10 * 10 while m <= n: ans += str(m).count(str(d)) m += 1 return ans ob = Solution() print(ob.solve(45,5))
輸入
45, 5
輸出
5
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP