已知sum 在unsorted set中找两个数 线性复杂度# JobHunting - 待字闺中
a*0
1 楼
简单的解法 知道set的range 产生一个int array : int[range] 保证内容和
index一样 (当然为了space可以红hash的版本 此处不是讨论这个问题) sweep整个
set 看 sum-i是不是在array之中
但是如何克服一个corner situation? 比如sum = 8 set之中只有一个4 这样自
己相当于用了两次
是不是加一个简单的判别 如果sum=2i (当然这种情况必须运用hash了) 看相应的bin
下是否有多于一个的i
index一样 (当然为了space可以红hash的版本 此处不是讨论这个问题) sweep整个
set 看 sum-i是不是在array之中
但是如何克服一个corner situation? 比如sum = 8 set之中只有一个4 这样自
己相当于用了两次
是不是加一个简单的判别 如果sum=2i (当然这种情况必须运用hash了) 看相应的bin
下是否有多于一个的i