Redian新闻
>
Pannda 20 Fund 06/11/2010 Update (附截图)
avatar
Pannda 20 Fund 06/11/2010 Update (附截图)# Stock
x*j
1
gray code, 判断2个byte是否有一位不同。有个测试用例没通过就提交了, 因为自己太
笨,想了半天也没想明白。 想问问为什么没通过。
public static boolean isgray(byte b1, byte b2){

int n1=(int)b1;
int n2=(int)b2;

int xor=n1^n2;
int num=0;
while(xor>0){
if(xor%2==1) num++;
xor=xor/2;
}
if(num==1) return true;
return false;
}
avatar
z*n
2
06/11/2010 Update
Personal Market Trend Outlook: short-term neutral, mid-term bearish,
long-term bullish.
avatar
e*2
3
可以一句话搞定 return (xor & (xor -1)) == 0;

【在 x***j 的大作中提到】
: gray code, 判断2个byte是否有一位不同。有个测试用例没通过就提交了, 因为自己太
: 笨,想了半天也没想明白。 想问问为什么没通过。
: public static boolean isgray(byte b1, byte b2){
:
: int n1=(int)b1;
: int n2=(int)b2;
:
: int xor=n1^n2;
: int num=0;
: while(xor>0){

avatar
k*n
4
一天的变化够我吃半年

【在 z****n 的大作中提到】
: 06/11/2010 Update
: Personal Market Trend Outlook: short-term neutral, mid-term bearish,
: long-term bullish.

avatar
r*7
5
有没有可能是 0 和 -0啊 第一位是1 这样xor之后还是 -0 但是while 就break了

【在 x***j 的大作中提到】
: gray code, 判断2个byte是否有一位不同。有个测试用例没通过就提交了, 因为自己太
: 笨,想了半天也没想明白。 想问问为什么没通过。
: public static boolean isgray(byte b1, byte b2){
:
: int n1=(int)b1;
: int n2=(int)b2;
:
: int xor=n1^n2;
: int num=0;
: while(xor>0){

avatar
x*o
6
thats stupid.. who cares
avatar
k*7
7
时间复杂度是?

【在 e********2 的大作中提到】
: 可以一句话搞定 return (xor & (xor -1)) == 0;
avatar
r*t
8
你的基金已经出水了啊!!
太牛了
avatar
u*w
9
问题出在整数转换的地方,byt的最高位被看成了符号位,所以你少看了符号位。
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。