10 2014 档案
位运算 的探究
摘要:给学弟出了一道题, 告诉你n个数, 其中只有一个数出现一次, 其他的数都出现三次.求出现一次的那个数. 学弟发给我一个代码, 第一眼竟然没看明白. int run(int n, int* A) { int ones = 0;// 出现一次的标志位 int twos = 0;// 出现第二次标志位 for(int i = 0; i n; i++) { ones = (ones ^ A[i]) & ~twos; twos = (twos ^ A[i]) & ~ones; } return ones; } 阅读全文
posted @ 2014-10-23 10:08 tiankonguse 阅读(334) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示