捡到一张iTunes的$15 giftcard 怎么办?# Apple - 家有苹果r*o2012-05-25 07:051 楼感觉应该有类似binary search的方法, 复杂度O(lgn),但具体细节还是不清楚。有谁知道怎么作吗?
c*o2012-05-25 07:052 楼http://www.youtube.com/watch?v=w4NZdsHV6-Qhttp://www.youtube.com/watch?v=EpJORg-GxKg
i*g2012-05-25 07:053 楼昨天清理屋子里的垃圾信件,有一封几个月前的信,是一个叫redeem.me的公司寄给别人的,但地址写成我家,拆开一看里边只有一张$15的iTune giftcard,没法找到失主,但是扔掉又挺可惜的,自己用有点不厚道,也怕以后人家通过code查出来,难道应该自己花邮费给寄回去。。?
m*92012-05-25 07:054 楼这个可以log2k找到你从array 1中取前k个数, 从array2中也取前k个数. 然后对取出来的这2个子数组, 找median, 就是整个array1和array2的kth min了
T*E2012-05-25 07:055 楼呵呵【在 c*******o 的大作中提到】: http://www.youtube.com/watch?v=w4NZdsHV6-Q: http://www.youtube.com/watch?v=EpJORg-GxKg
B*s2012-05-25 07:056 楼I take it shamelessly【在 i****g 的大作中提到】: 昨天清理屋子里的垃圾信件,有一封几个月前的信,是一个叫redeem.me的公司寄给别: 人的,但地址写成我家,拆开一看里边只有一张$15的iTune giftcard,没法找到失主: ,但是扔掉又挺可惜的,自己用有点不厚道,也怕以后人家通过code查出来,难道应该: 自己花邮费给寄回去。。?
r*o2012-05-25 07:057 楼多谢。如果某个array长度不到k怎么办呢?【在 m******9 的大作中提到】: 这个可以log2k找到: 你从array 1中取前k个数, 从array2中也取前k个数. 然后对取出来的这2个子数组, 找: median, 就是整个array1和array2的kth min了
g*n2012-05-25 07:059 楼Then go to the second array to find k+r elements (in which r = k - length_1st_array).【在 r****o 的大作中提到】: 多谢。如果某个array长度不到k怎么办呢?
r*o2012-05-25 07:0511 楼没看明白,能解释一下吗?【在 g********n 的大作中提到】: Then go to the second array to find k+r elements (in which r = k - length_: 1st_array).
y*i2012-05-25 07:0513 楼不能merge同时计数么,到第k个的时候停止,就是要找的数了【在 m******9 的大作中提到】: 这个可以log2k找到: 你从array 1中取前k个数, 从array2中也取前k个数. 然后对取出来的这2个子数组, 找: median, 就是整个array1和array2的kth min了
m*92012-05-25 07:0515 楼他说的是对的.用log(m+n)找median可以看看这个帖子:http://geeksforgeeks.org/?p=2105意思就是, 你要取2组sub array, 使得它们的元素总个数是2k, 此时当你找到median时,自然就是kth min了. 对2个sorted array找median in log(m+n), 可以参考一下上面那个连接【在 r****o 的大作中提到】: 这个是O(k)啊,应该有O(lgK)的方法。
r*o2012-05-25 07:0516 楼明白了,多谢。不过,如果第2个数组不够长(也就是说,第2个数组长度>k,第一个数组长度两个数组总长度还是<2k)的话,这个方法还是不行把。【在 m******9 的大作中提到】: 他说的是对的.: 用log(m+n)找median可以看看这个帖子:: http://geeksforgeeks.org/?p=2105: 意思就是, 你要取2组sub array, 使得它们的元素总个数是2k, 此时当你找到median时: ,自然就是: kth min了. 对2个sorted array找median in log(m+n), 可以参考一下上面那个连接
r*92012-05-25 07:0519 楼这个是2klogn+log2k吧?【在 m******9 的大作中提到】: 这个可以log2k找到: 你从array 1中取前k个数, 从array2中也取前k个数. 然后对取出来的这2个子数组, 找: median, 就是整个array1和array2的kth min了
b*n2012-05-25 07:0520 楼http://www.mitbbs.com/article/JobHunting/31548441_0.html每个array取第k/2个元素比较,假设array1较小,那么array1的前k/2个元素必然在2个array的前k小中,干掉这k/2个元素,找2个array剩下的第k/2小元素,recursion。log k