华为机试-HJ62

查找输入整数二进制中1的个数

http://www.nowcoder.com/questionTerminal/1b46eb4cf3fa49b9965ac3c2c1caf5ad

方案一:

while True :
    try:
        m=int(input())
        num=[]#放二进制数
        while m!=1:
            a=m%2
            if a:
                num.append(a)
                m=(m-a)/2
            else:
                m=(m-a)/2
                #不能写continue,continue 用于跳过该次循环,不会更新m
        print(len(num)+1)    
    except:
        break

运行时间:18ms
占用内存:3360k
瞎琢磨了一下,新开了一个列表放1,列表里面如果放了很多1会不会有点占内存??
以及,把里面的重复的代码写成函数会不会好点点?

方案二:

def cal_data(num):
    i=0
    while num>0:
        if num%2==1:
            i+=1
            num=num//2#向下去取整,不是用/
        else:
            num=num//2
    return i 

while True :
    try:
        m=int(input())
        count=cal_data(m)
        print(count)
    except:
        break       

运行时间:23ms
占用内存:3448k

内存确实小了一丢丢,但是时间长了?又是充满问号的一天

全部评论

相关推荐

11-11 11:35
已编辑
字节跳动_字节hr
“面试官好,我之前在字节跳动实习过……”“您说的是字节跳动?”原本在低头圈画简历的三位面试官瞬间停了手,握着的笔顿在半空,会议室里只有键盘余温散出的微弱声响,都变得格外清晰。“就是那个靠算法推荐,把短视频和资讯信息流做到顶流的字节跳动?”我微微颔首,保持着平稳的语气:“嗯,主要在抖音后端研发团队实习,负责用户行为埋点链路优化、推荐策略效果迭代的工程落地,参与过流量峰值容灾方案设计和线上故障排查,把接口响应耗时压到了毫秒级。”其中一位面试官身体前倾,声音都亮了几分:“天啊!是那个做出抖音、TikTok,还把飞书、剪映做到行业标杆的字节跳动?”另一位面试官手忙脚乱摸出手机:“不好意思,我先拍个抖音,刚好想发条‘面到字节实习生’的动态蹭波流量。”话还没落地,最后一位面试官已经把一份写满薪资数字的 offer 意向书推到我面前:“现在就能签吗?股票期权随便谈,级别我们直接给你定到 P6!”我抬眼扫过三人,礼貌而从容地回应:“Thank you very much for the offer. I still need to compare different opportunities, and I’ll get back to you once I’ve made my decision.”说完,我合上桌边一本印着 “ByteDance” 蓝色 logo 的笔记本,微笑点头后离开了会议室。走到走廊尽头时,我忍不住轻叹了口气:“唉,手里的 offer 都堆不下了,到底选哪个好呢?要是字节的技术口碑没这么硬就好了。”都看到这里了 不投一下吗【字节跳动-校园招聘】内推链接:https://job.toutiao.com/s/KTaYC1Kvckg,内推码:MNW17D7。心脏和字节一起等你跳动~~~(通过此链接投递计入内推,内推简历优先筛选~)参考文献[1] "老师好,我之前在蚂蚁集团实习过", 国家一级产品交付工程师.[2] “面试官好,我之前在拼多多集团实习过……”,I_can_do_better.作者:I_can_do_better链接:https://www.nowcoder.com/来源:牛客网
投递字节跳动等公司7个岗位
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务