美文网首页程序员生活不易 我用python
【第五章】python算法刷题开始(1)

【第五章】python算法刷题开始(1)

作者: 你好夜故事 | 来源:发表于2018-08-01 10:56 被阅读1次

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

    1、A+B问题:

    A+B问题

    非标准型答案:

    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、尾部的零

    尾部的零

    非标准型答案:

    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、统计数字

    统计数字
    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<len(tempStr):
                    if(int(tempStr[j])==k):
                        count+=1
                    j+=1
                i+=1
            return count
    

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

    相关文章

      网友评论

        本文标题:【第五章】python算法刷题开始(1)

        本文链接:https://www.haomeiwen.com/subject/efulvftx.html