查看: 1671| 回复: 11
跳转到指定楼层
上一主题 下一主题
收起左侧

[CareerCup] 【第三轮】7.24-7.31 CareerCup 5.4

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
5.4 Explain what the following code does: ((n & (n-1)) == 0).

回复解法可以按照以下格式来
【解题思路】
【时间复杂度】
【空间复杂度】
【gist link】
---------------OPTional,如果觉得test case比较好,欢迎写出来分享----------------------
【test case】



Notice:
1、记得在程序注释中表明自己算法的时间、空间复杂度
2、代码难懂之处加注释
3、每道题目有对应的帖子,除了贴解法,欢迎讨论,集思广益
4、任何未尽之处,欢迎回报名帖提问,我会进一步作出修改


上一篇:【第三轮】7.24-7.31 CareerCup 5.3
下一篇:【第三轮】7.24-7.31 CareerCup 5.5
推荐
grassgigi 2014-7-27 11:51:22 | 只看该作者
全局:
The only way that n & n-1 == 0 is n -1 flip all bits in n.

When would this happen? only when n has the pattern 1+multiple 0s.
and 1+multiple 0s would only happen when n is 2^x (x >0)

So it is used to check whether n is power of 2
回复

使用道具 举报

推荐
aasdfdf 2014-7-25 11:30:54 | 只看该作者
全局:
这个貌似最简单,就是判断n是不是2的x次方,相等布尔值为真,不相等为假。
n与n-1位相与要为0必须每一位都错位,稍微试一试两个数就猜到只有2的x次方时候满足
回复

使用道具 举报

推荐
 楼主| 林微熙 2014-8-3 08:08:46 | 只看该作者
全局:
测试n是不是2的X次方


               
回复

使用道具 举报

🔗
renli3000 2014-7-26 05:24:08 | 只看该作者
全局:
((n & (n - 1) == 0) will test if n is 0, 1 or the power of 2
回复

使用道具 举报

🔗
jyh橘子 2014-7-26 06:45:14 | 只看该作者
全局:
to determine if n is a power of 2
回复

使用道具 举报

全局:
check whether n is the power of 2
回复

使用道具 举报

🔗
bearkino 2014-7-29 14:46:00 | 只看该作者
全局:
本帖最后由 bearkino 于 2014-7-29 14:50 编辑

倒着推导,n & (n-1) == 0,就是判断n是不是2进制下2的倍数 或者 n是不是0
回复

使用道具 举报

🔗
ivycheung1208 2014-7-30 01:00:20 | 只看该作者
全局:
【解题思路】
本来想着是判断1的个数不大于1…其实也就是power of 2了……
回复

使用道具 举报

🔗
bitcpf 2014-8-5 02:10:12 | 只看该作者
全局:
check if n is power of 2
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表