8.30美团笔试

算法第一题,用的Python,当k足够大时,用循环就超时了,只能a0.46,如何才能不超时
只能想到减少循环次数,当k足够大时,n应该会不断经过1→4→2→1这个过程,把这里当做特殊情况处理掉,减少k的次数
还有什么办法吗,大佬们是怎么做的
全部评论
我也是这个思路,就是在出现n==1的时候,%3剩下次数然后分类一下,但我这题应该是过了100%
点赞 回复 分享
发布于 08-30 21:05 安徽
96% 不知道最后4%怎么过
点赞 回复 分享
发布于 08-30 21:04 浙江
第三题暴力骗了20%,凉凉。感觉是双端队列,但是基础太差了
点赞 回复 分享
发布于 08-30 21:03 北京
初始化一个dict,如果循环过程中遇到 {2^k:k, for k in range(int(log2(10^18)))} 的数可以直接一步处理,python可以ac
点赞 回复 分享
发布于 08-30 21:03 北京
我A了70%
点赞 回复 分享
发布于 08-30 21:02 新加坡
A了96%,已经判断可能循环了,不知道为什么有4%的案例通过不了
点赞 回复 分享
发布于 08-30 21:01 浙江
第二题直接丢了,太恶心了
点赞 回复 分享
发布于 08-30 21:01 北京
qs, 用hash找循环数长度,a了80%,剩下的真不知道了
点赞 回复 分享
发布于 08-30 21:01 北京
找规律吧,最后1,2,4循环了
点赞 回复 分享
发布于 08-30 21:00 河北

相关推荐

点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

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