关注
我可以说我用70分钟做完所有然后ac全部吗?第一次遇到这么顺利的题,第二题二进制1的是程序员面试金典的题,第一题和第三题竟然直接手写没调试即ac
链接:http://www.nowcoder.com/practice/33ad4d168a3247b9b63f41e4eaded652?tpId=8&tqId=11021&rp=2&ru=/ta/cracking-the-coding-interview&qru=/ta/cracking-the-coding-interview/question-ranking
class CloseNumber {
public:
vector<int> getCloseNumber(int x) {
// write code here
int i, j;
int small, big;
for(i = 0; i < 32 && (x & (1 << i)) != 0; ++i) ;
if(i > 0)
{
big = x + (1 << (i - 1));
for(j = i ; j < 32 && (x & (1 << j)) == 0; ++j) ;
//small = x - (j << (j - 1));
small = x & ~((1 << (j + 1)) - 1);
for(int k = 0; k <= i; ++k)
small |= (1 << (j - k - 1));
}
else
{
for( ; i < 32 && (x & (1 << i)) == 0; ++i) ;
for(j = i; j < 32 && (x & (1 << j)) != 0; ++j) ;
big = x + (1 << i);
for(int k = 0; k < j - i - 1; ++k)
big |= (1 << k);
small = x - (1 << (i - 1));
}
return vector<int>({small, big});
}
};
查看原帖
点赞 3
相关推荐
点赞 评论 收藏
分享
06-02 19:23
华南理工大学 Java 
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你认为小厂实习有用吗? #
14025次浏览 186人参与
# 面试官是我前女友 #
107052次浏览 731人参与
# 实习生的蛐蛐区 #
40522次浏览 329人参与
# 当你面对裁员会如何? #
275982次浏览 2438人参与
# 计算机有哪些岗位值得去? #
13042次浏览 134人参与
# lastday知无不言 #
56915次浏览 460人参与
# 在职场上,你最讨厌什么样的同事 #
14511次浏览 150人参与
# 推荐一首陪你工作的歌吧 #
14039次浏览 97人参与
# 说说你知道的学历厂 #
28454次浏览 178人参与
# 你找工作的时候用AI吗? #
15000次浏览 193人参与
# 下班后的时间你怎么安排 #
7546次浏览 111人参与
# 哪一瞬间觉得自己长大了 #
7301次浏览 167人参与
# 携程求职进展汇总 #
559478次浏览 4258人参与
# 面试尴尬现场 #
24070次浏览 164人参与
# 工作后会跟朋友渐行渐远吗 #
30077次浏览 216人参与
# 中核求职进展汇总 #
20165次浏览 152人参与
# 社会教会你的第一课 #
29540次浏览 396人参与
# 多益网络工作体验 #
49693次浏览 280人参与
# 虾皮求职进展汇总 #
244210次浏览 1797人参与
# 神州信息工作体验 #
16060次浏览 75人参与