h*n
3 楼
跟上题一样想法,不是count数字,count每个bit出现了几次。
T*e
4 楼
This is EPI problem 8.17.
int singleNumber(int A[], int n) {
if(!A||n<=0) return INT_MIN;
int ones=0, twos=0;
for(int i=0; i int newOnes=(~A[i]&ones) | (A[i]&(~ones) & (~twos));
int newTwos=(~A[i]&twos) | (A[i]&ones&(~twos));
ones=newOnes, twos=newTwos;
}
return ones;
}
【在 g*********e 的大作中提到】
: 就是那个找只出现一次的数,其余数都出现三次.
: 网上找了stackoverflow里有个解法,但看不懂.有好心人给个解法吗?
int singleNumber(int A[], int n) {
if(!A||n<=0) return INT_MIN;
int ones=0, twos=0;
for(int i=0; i
int newTwos=(~A[i]&twos) | (A[i]&ones&(~twos));
ones=newOnes, twos=newTwos;
}
return ones;
}
【在 g*********e 的大作中提到】
: 就是那个找只出现一次的数,其余数都出现三次.
: 网上找了stackoverflow里有个解法,但看不懂.有好心人给个解法吗?
d*k
5 楼
Add my two cents...
mod的那个不容易想啊。我说个更直观的。
随机在数组中找一个数v。然后做类似快排的调整,使得数组中小于v的值都在左侧连续
放置,大于v的值都在右侧,等于v的都在中间。如果只有一个v,返回v。否则若大于v
的个数和小于v的个数必然有一个是3*m和3*m+1,在个数是3*m+1的部分递归查找。
平均时间复杂度O(n),最坏n*2。
P.S.
Recruiter上周说我的case会送到HC,这两周出结果,求bless啊!!!!!
【在 g*********e 的大作中提到】
: 就是那个找只出现一次的数,其余数都出现三次.
: 网上找了stackoverflow里有个解法,但看不懂.有好心人给个解法吗?
mod的那个不容易想啊。我说个更直观的。
随机在数组中找一个数v。然后做类似快排的调整,使得数组中小于v的值都在左侧连续
放置,大于v的值都在右侧,等于v的都在中间。如果只有一个v,返回v。否则若大于v
的个数和小于v的个数必然有一个是3*m和3*m+1,在个数是3*m+1的部分递归查找。
平均时间复杂度O(n),最坏n*2。
P.S.
Recruiter上周说我的case会送到HC,这两周出结果,求bless啊!!!!!
【在 g*********e 的大作中提到】
: 就是那个找只出现一次的数,其余数都出现三次.
: 网上找了stackoverflow里有个解法,但看不懂.有好心人给个解法吗?
相关阅读
Re: 别了,纽约 (转载)2012年2月17日黑弓老师 Java开发技术学习交流会奇怪的background checkfb面试题【转】LA的小公司值得去吗非常重要的找工作经验有谁用过Bugzilla这个软件关于推荐信的问题找工求建议招了几回人,几点感触提醒快毕业或者刚毕业正找工作的新手XDJM为自己和老公的onsite求祝福也求一个Bless,谢谢!Help:h1b批准之后开始工作日之前,还能撤销h1b吗在哪儿找E-Verify number?紧急求助 disc assessment被拒了问个h1b的问题正式在JH版报到!找cs码工工作的话简历里写会verilog怎么提高BST traversal efficiency?