Lintcode刷題(一)第三題 統計數字

2021-08-19 14:48:49 字數 764 閱讀 8795

1.題目描述

計算數字k在0到n中的出現的次數,k可能是0~9的乙個值

您在真實的面試中是否遇到過這個題?

yes

樣例例如n=12,k=1,在[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],我們發現1出現了5次(1, 10, 11, 12)

思路:如果是一位數可以直接判斷,如果是二位數,需要用t=n%10 n=n/10 依此類推,無論是幾位數都可以實現,具體實現的**如下所示。

#統計數字

class solution:

def digitcounts(self,k,n):

list=[i for i in range(n+1)]#列表生成器

count=0#統計個數的變數

i=0while i<(n+1):#總共有多少數

if list[i]==0:#如果是0的話

if k==0:

count=count+1

while list[i]:#把高位數拆分

t=list[i]%10

list[i]=list[i]//10

if t==k:

count=count+1

i=i+1

print(count)

if __name__=='__main__':

t=solution()

t.digitcounts(2,12)

LintCode刷題隨筆

給出乙個陣列nums包含n 1個整數,每個整數是從1到n 包括邊界 保證至少存在乙個重複的整數。假設只有乙個重複的整數,找出這個重複的數。1.不能修改陣列 假設陣列只能讀 2.只能用額外的o 1 的空間 3.時間複雜度小於o n 2 4.陣列中只有乙個重複的數,但可能重複超過一次 您在真實的面試中是...

刷題第三天

今天被p老師看見刷b站了,下午想到了乙個還不錯的idea,做做調研看看會不會被reject掉,今天真的好懶惰,今天可能不做太多太難的題了,明天還要起大早上英語課,我真的是好煩喲,我真的不想做題啊啊啊啊 這道題沒啥可說的,各種方法都能解決,但是我彷彿記得我多年前面測試的時候被問過一次,反轉單鏈表,反正...

lintcode刷題 最小差

原題如下 最小差 給定兩個整數陣列 第乙個是陣列a,第二個是陣列b 在陣列 a 中取 a i 陣列 b 中取 b j a i 和 b j 兩者的差越小越好 a i b j 返回最小差。您在真實的面試中是否遇到過這個題?yes 樣例給定陣列 a 3,4,6,7 b 2,3,8,9 返回0。做題思路 1...