网易笔试题,求是否存在子集按位或之后为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

相关推荐

06-12 16:00
天津大学 Java
牛客30236098...:腾讯坏事做尽,终面挂是最破防的 上次被挂了后我连简历都不刷了
点赞 评论 收藏
分享
05-29 20:34
门头沟学院 C++
KarlAllen:得做好直接春招的准备。学历差的话,一是面试要求会比学历好的严格不少,二是就算面试通过了也会被排序。总之暑期和秋招对于学历差的就是及其不友好
无实习如何秋招上岸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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