Redian新闻
>
OfficeDepot backorder的两个32G TouchPad寄出来了:)
avatar
OfficeDepot backorder的两个32G TouchPad寄出来了:)# PDA - 掌中宝
h*a
1
如何找出一个Integer有多少个Bit是1,不能用移位然后按位操作检查的办法
avatar
d*1
2
在总的EB2里, 他们的比例是多少?
avatar
s*g
3
在OD抢了两个32g touchpad。一开始backorder了,后来labor day前他们问我还要不要
了,他们还有些存货,我说要的。结果刚才收到shipping confirmation了:)
avatar
d*e
4
sth like "convert decimal to binary"
int countOne(int input)
{
int cnt = 0;
while(input > 0)
{
int a = 1;
while(2 * a <= input)
a = 2 * a;
cnt++;
input = input - a;
}
return cnt;
}

【在 h*********a 的大作中提到】
: 如何找出一个Integer有多少个Bit是1,不能用移位然后按位操作检查的办法
avatar
B*g
5
Just guess--100:1

【在 d********1 的大作中提到】
: 在总的EB2里, 他们的比例是多少?
avatar
c*x
6
多少银子买的?
avatar
h*a
7
谢谢,可是这个解法的复杂度还是O(n),有O(1)的解法么?
avatar
d*1
8
那也太。。 那个了吧,我估计10:1。。 可能吧?

【在 B*****g 的大作中提到】
: Just guess--100:1
avatar
s*g
9
149.99 Plus tax

【在 c**x 的大作中提到】
: 多少银子买的?
avatar
g*n
10
It is a classical bit counting question.
Suppose n is the number.
n=abs(n);
count=0;
while(n!=0) {
n&=n-1;
count++;
}

【在 h*********a 的大作中提到】
: 如何找出一个Integer有多少个Bit是1,不能用移位然后按位操作检查的办法
avatar
B*g
11
其中大多数人申请两个

【在 d********1 的大作中提到】
: 那也太。。 那个了吧,我估计10:1。。 可能吧?
avatar
k*o
12
我的给取消了,
email都没一封
avatar
y*i
13
把结果列出来,做一个hash表,直接查表

【在 h*********a 的大作中提到】
: 谢谢,可是这个解法的复杂度还是O(n),有O(1)的解法么?
avatar
n*s
14
My call: 20:1
avatar
s*g
15
你的是16G的?他们好像只有32g的有剩余。

【在 k*****o 的大作中提到】
: 我的给取消了,
: email都没一封

avatar
l*a
16
看不懂啊

【在 y**i 的大作中提到】
: 把结果列出来,做一个hash表,直接查表
avatar
k*o
17
32g的啊,
发信跟它交涉交涉

【在 s********g 的大作中提到】
: 你的是16G的?他们好像只有32g的有剩余。
avatar
y*i
18
就是把每一个整数有多少个1做一个hash表,当然初始化的时候需要很长时间,空间需
要很大,就是以空间换时间,查找时间O(1),适合有一定范围的整数,不然空间需要太
大。

【在 l*****a 的大作中提到】
: 看不懂啊
avatar
y*i
19
n是负数也可以吧,不需要特殊处理的吧?
这个算法应该是不需要额外空间的情况下时间复杂度最低的算法了吧,O(m),m是1的个
数。
借贴问一下,这个题如果改成问1的个数是奇数还是偶数,不必须要count所有1的个数
,有没有比这个算法得到结果判断奇偶更好的算法?

【在 g********n 的大作中提到】
: It is a classical bit counting question.
: Suppose n is the number.
: n=abs(n);
: count=0;
: while(n!=0) {
: n&=n-1;
: count++;
: }

avatar
o*t
20
也不用很大,32位整数分成4段,每段8位,只需要 256 个数值:
n[0]=0; n[1]=1; n[2]=1;n[3]=2; n[4]=1; ...n[255]=7;
分别找四次,然后结果相加。总的复杂度还是 O(1)。
64 位整数分 8 段,找八次。

【在 y**i 的大作中提到】
: 就是把每一个整数有多少个1做一个hash表,当然初始化的时候需要很长时间,空间需
: 要很大,就是以空间换时间,查找时间O(1),适合有一定范围的整数,不然空间需要太
: 大。

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。