网易笔试题,求是否存在子集按位或之后为k,有AC的吗?

我的思路伪代码:
and_set = []
for n in all_set:
    if n&k == n:
         and_set.append(n)
之后就转换为and_set中求子集之和为k的问题了,然后一直只有20%通过,不知道哪里错了?

#网易##笔试题目##春招#
全部评论
遍历集合的每个数和k做或运算,如果结果为k则加入新集合,最后把新集合的所有数做或运算,如果是k就有,否则无。
点赞 回复 分享
发布于 2020-04-03 16:35
请问怎么O(n)?
点赞 回复 分享
发布于 2020-03-29 22:54
好像直接把and_set中的所有数进行位或运算,然后判断是否为k就行了?
点赞 回复 分享
发布于 2019-08-03 18:18
算法复杂度太高了 但是思路方向应该是对的,感觉枚举之前出现过的数的超集可以过
点赞 回复 分享
发布于 2019-08-03 18:17

相关推荐

点赞 评论 收藏
分享
08-11 11:16
已编辑
天津工业大学 Java
程序员牛肉:我个人觉得就是中厂吧,运气好点能进个大厂。 八月找暑期当然找不到了,现在各大厂的暑期实习一般都是三月多开放,五月多收尾。你这都八月多了肯定找不到,相当于是半夜去逛商场了。吃了信息差的亏了。 简历上的实习部分有很大的问题。你作为应聘后端的同学,实习经历中看不出来你干了哪些后端需求,一眼扫过去都是一些配置类的需求,Swagger文档就不要拿出来了。以及撰写技术文档和写单测这种经历。 所以建议你重写一下你的实习部分,重点突出需求,需求啊同学。比如详细的说一下自己是怎么使用GraalVM以及虚拟线程提高项目启动速度的。 调研了什么技术,有什么收获,有什么可以拿出来讲的技术点。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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