51信用卡开放题编程思路


各位大佬有没有好的思路?这个01组成和32位一直没有好好利用,感觉有技巧可循啦
全部评论
32位就是让你转int。  01就是让你异或
点赞 回复 分享
发布于 2017-09-18 21:14
32位0,1字符串做unsigned int, 然后把一个集合所有数用bitset存下(32Gb/8 = 0.5GB大概需要0.5GB的空间), 然后查询另一集合的元素时候,先转换成unsigned int, 然后看这个数是否在bitset里面,看那位是否为1. ---------------------------------------------------------------------------- 对于第二问 对于第一个集合,和上述一样的操作,对于第二个集合的数,一个数把每一位转变每个数有32种情况,分别看这32+1(不变)种情况能在第一集合的bitset中。 不知道有没有更好的思路了。
点赞 回复 分享
发布于 2017-09-18 21:31
转成int类型异或,为0则相等,否则不等; 第二种情况同样转成int异或,异或出来后的数假设为num3,统计num3中1的个数,这个统计也有技巧
点赞 回复 分享
发布于 2017-09-18 21:13

相关推荐

程序员牛肉:主要是因为小厂的资金本来就很吃紧,所以更喜欢有实习经历的同学。来了就能上手。 而大厂因为钱多,实习生一天三四百的就不算事。所以愿意培养你,在面试的时候也就不在乎你有没有实习(除非是同级别大厂的实习。) 按照你的简历来看,同质化太严重了。项目也很烂大街。 要么换项目,要么考研。 你现在选择工作的话,前景不是很好了。
点赞 评论 收藏
分享
喜欢核冬天的哈基米很想上市:会爆NullPointerException的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务