2016-09-21 23:35
郑州大学(211) C++ 牛 牛:你的想法挺不错,不过你的第1步有问题,如果一个等于一个小于,两者异或并不能保证结果大于m;而且两个大于并且长度相等的数,异或结果也有可能大于m,因为它们仅仅把最高位的1消掉了,其他位并不能保证!
投递字节跳动等公司10个岗位 >
0 点赞 评论 收藏
分享
2016-09-21 23:05
郑州大学(211) C++ AyoJin:你跟我一样的思路 我也是90% 不过我现在想明白了 举个例子 给的数组是1、2、10、50 按你的思路10跟50之间应该插入3个数
但实际上只有插入两个就可以了 例如插入30和40 就可以分成1、2、10和30、40、50两组 所以这种思路其实是有问题的。
其实,每次最多只能插入2个数,你想想是不是? 只用区分两种情况,一种是相邻两个数相差在10到20之间 那么我们要插入一个,另一种是如果相邻相差大于20了,那么就插入两个,最后再去补全,直到数组中元素个数是3的倍数。
投递字节跳动等公司10个岗位 >
0 点赞 评论 收藏
分享
关注他的用户也关注了: