zoukankan      html  css  js  c++  java
  • 边工作边刷题:70天一遍leetcode: day 46-1

    Counting Bits

    要点:这题一开始没想出来,看了hint解出来了。估计想时间长点是可以想出来的。就是gray code的类似思路,新序列就是已经得到结果的序列左边高位补1,所以即1的个数+1。所以按这个顺序iterate多遍直到某个值超过了num

    class Solution(object):
        def countBits(self, num):
            """
            :type num: int
            :rtype: List[int]
            """
            res = [0]*(num+1)
            if num==0: return res
            res[1]=1
            if num==1: return res
            end = 2
            while True:
                for i in xrange(end):
                    if end+i<num+1:
                        res[end+i]=res[i]+1
                    else:
                        return res
                end+=end
    
    
  • 相关阅读:
    吴军博士《浪潮之巅》
    第十二周
    第十一周
    第十周
    第九周
    第四次作业
    第四周
    学习进度表
    世界是数字的
    第二阶段团队第八天成果。
  • 原文地址:https://www.cnblogs.com/absolute/p/5690308.html
Copyright © 2011-2022 走看看