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...