🧩
如何快速找出一个32位整数的二进制表达里有多少
如何快速找出一个32位整数的二进制表达里有多少个"1"?用关于"1"的个数的线性时间?
底
答案答案1(关于数字位数线性):for(n=0; b; b >>= 1) if (b & 1) n++; 答案2(关于"1"的个数线性):for(n=0; b; n++) b &= b-1;
浏览 556
📤
考考好友
默认不带谜底。链接卡片仍是这道题的网页简介。