python基础刷题_【第五章】python算法刷题开始(1-入门)

有了python基础知识积累,决定再花些时间巩固一下,这样在后期项目开发中会更加轻松,废话不多说,是用的刷题网站是lintCode,直接看题:

1、A+B问题:

dafdd488a874bb49f410225e60d4b4542e3.jpg

非标准型答案:

class Solution:

"""

@param a: An integer

@param b: An integer

@return: The sum of a and b

"""

def aplusb(self, a, b):

return a+b

2、尾部的零

8ffb79b2cb20acd180789242fe8ba83b2ae.jpg

非标准型答案:

class Solution:

"""

@param: n: An integer

@return: An integer, denote the number of trailing zeros in n!

"""

def trailingZeros(self,n):

count = 0

sum=n

sign=1

while n>1:

sum=sum*(n-1)

n=n-1

sumStr = str(sum);

length = len(sumStr)-1

while length>=0 and sign==1:

if int(sumStr[length])==0:

count+=1

else:

sign=0

length-=1

return count

答案分析:上面的程序在lintCode上面,效率是不过关的,后期进行优化

3、统计数字

0a6a1ee41da2f0546bfdf148984139e26c2.jpg

class Solution:

"""

@param k: An integer

@param n: An integer

@return: An integer denote the count of digit k in 1..n

"""

def digitCounts(self, k, n):

i = 0

count = 0

while i<=n:

tempStr = str(i);

j=0

while j

if(int(tempStr[j])==k):

count+=1

j+=1

i+=1

return count

今天就只刷了三道题,大家也可以使用编辑器自行敲写一遍,加深印象,后续还会继续发布最新刷题记录。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值