Redian新闻
>
支持于洋这组运动员的,请到ESPN网上投票,正在进行 (转载)
avatar
支持于洋这组运动员的,请到ESPN网上投票,正在进行 (转载)# Joke - 肚皮舞运动
S*g
1
至少以前是 现在不知道
Kth/median of 2 sorted array...
leetcode上程序非常繁琐
大家有没有好的解法?
thanks
avatar
r*c
2
车里温度表已经30度了
avatar
h*s
3
【 以下文字转载自 Olympics 讨论区 】
发信人: zaosen (leng), 信区: Olympics
标 题: 支持于洋这组运动员的,请到ESPN网上投票,正在进行 (转载)
发信站: BBS 未名空间站 (Thu Aug 2 16:33:22 2012, 美东)
发信人: ourname (ourname), 信区: Badminton
标 题: 支持于洋这组运动员的,请到ESPN网上投票,正在进行
发信站: BBS 未名空间站 (Thu Aug 2 15:03:23 2012, 美东)
http://espn.go.com/olympics/
avatar
Y*r
5
你什么车可以显示摄氏度?

【在 r*c 的大作中提到】
: 车里温度表已经30度了
avatar
x*g
6
Not a fair question.
I have problem with the end result.
But it wasn't the player's fault.
So I don't have a problem with the teams....

【在 h***s 的大作中提到】
: 【 以下文字转载自 Olympics 讨论区 】
: 发信人: zaosen (leng), 信区: Olympics
: 标 题: 支持于洋这组运动员的,请到ESPN网上投票,正在进行 (转载)
: 发信站: BBS 未名空间站 (Thu Aug 2 16:33:22 2012, 美东)
: 发信人: ourname (ourname), 信区: Badminton
: 标 题: 支持于洋这组运动员的,请到ESPN网上投票,正在进行
: 发信站: BBS 未名空间站 (Thu Aug 2 15:03:23 2012, 美东)
: http://espn.go.com/olympics/

avatar
r*m
7

黄蓉gg的啊。。。没仔细看啊,应该可以再优化一些吧。
a,b每次应该都能减半的  O(logK)

【在 S********g 的大作中提到】
: saw this online
: http://haixiaoyang.wordpress.com/2012/06/19/kth-element-in-2-so
: but i dont understand why a and b are switched position in the second else
: block...

avatar
r*c
8
车里当然显示86F,人工换算的
avatar
K*m
9
目前我能想到最好的建最小堆 (lgm+lgn)
当然了,建堆也需要时间的

【在 S********g 的大作中提到】
: 至少以前是 现在不知道
: Kth/median of 2 sorted array...
: leetcode上程序非常繁琐
: 大家有没有好的解法?
: thanks

avatar
w*x
10

我这个id和黄蓉有半毛钱的关系吗 -_- , 彩虹mm?

【在 r*******m 的大作中提到】
:
: 黄蓉gg的啊。。。没仔细看啊,应该可以再优化一些吧。
: a,b每次应该都能减半的  O(logK)

avatar
t*e
11
觉得leetcode上的解挺intuitive的 也不复杂啊 二分法的idea
avatar
p*2
12
这题Java写很不好写。
avatar
S*g
13
是啊 二爷一语中的。。
C里面可以array A+i 好象java里面不行。。。
面试的时候可不可以 就这一道题用C写啊。。。。
avatar
l*a
14
你为什么这道会用C,别的题就不会用C ne

【在 S********g 的大作中提到】
: 是啊 二爷一语中的。。
: C里面可以array A+i 好象java里面不行。。。
: 面试的时候可不可以 就这一道题用C写啊。。。。

avatar
g*e
15
把首尾两个index都传进去就可以了
search(int[] a, int startA, int endA, int[] b, int startB, int endB)

【在 S********g 的大作中提到】
: 是啊 二爷一语中的。。
: C里面可以array A+i 好象java里面不行。。。
: 面试的时候可不可以 就这一道题用C写啊。。。。

avatar
p*2
16

这道题我碰到过。在提示下给了一个思路,最后拿到offer了。面试的时候不一定要求
那么高。
这题如果没做过的话基本是做不出来。我以前在leetcode上扫了一眼,觉得面试不会出
这么变态的题。面试之前在glassdoor上看到这个公司出了几次这题,也没提起注意,
没想到还真给碰到了。

【在 S********g 的大作中提到】
: 是啊 二爷一语中的。。
: C里面可以array A+i 好象java里面不行。。。
: 面试的时候可不可以 就这一道题用C写啊。。。。

avatar
p*2
17

以前写过,不好写。你有过了OJ的code吗?

【在 g*****e 的大作中提到】
: 把首尾两个index都传进去就可以了
: search(int[] a, int startA, int endA, int[] b, int startB, int endB)

avatar
w*x
18

二爷威武啊~~~~

【在 p*****2 的大作中提到】
:
: 以前写过,不好写。你有过了OJ的code吗?

avatar
p*2
19

你是不是已经拿到了,怎么看不到你做题了。

【在 w****x 的大作中提到】
:
: 二爷威武啊~~~~

avatar
c*t
20
也可以传search(int[] a, int index1, int[] b, int index2, int k), 用recursion
, 代码也就 10来行。
可是如果没有做过,即使知道二分法,也真的很难一次写对

【在 g*****e 的大作中提到】
: 把首尾两个index都传进去就可以了
: search(int[] a, int startA, int endA, int[] b, int startB, int endB)

avatar
w*o
21
这是我见过的最精简的算法,可以用java实现。复杂度是O(lg(m))比leetcode上的
还快。leetcode上的几个实现基本都是merge或merge+binary search的思想,这个是
纯binary search,核心部分只有十几行:(过了OJ)
public double findMedianSortedArrays(int A[], int B[]) {
if((A == null ||A.length == 0) && (B == null || B.length == 0))
return 0.0;

if (A.length >= B.length)
return findMedianSortedArraysInternal(B, A);
else
return findMedianSortedArraysInternal(A, B);
}

double findMedianSortedArraysInternal(int[] A, int[] B) {
int m = A.length;
int n = B.length;

int k = (n + m - 1) / 2;
int l = 0, r = m; // this is m not m-1
while (l < r) {
int mid = l + (r - l) / 2, bIdx = k - mid;
if (bIdx > k || A[mid] < B[bIdx]) {
l = mid + 1;
} else {
r = mid;
}
}

int a = l - 1 >= 0? A[l - 1] : Integer.MIN_VALUE;
int b = k - l >= 0? B[k - l] : Integer.MIN_VALUE;
a = a >= b ? a : b;
if( (n + m) % 2 == 1)
return a;
int c = k - l + 1 >= n? Integer.MAX_VALUE: B[k - l + 1];
int d = l >= m? Integer.MAX_VALUE: A[l];
c = c <= d ? c : d;
return ((double) (a + c)) / 2.0;
}
avatar
g*e
22
我刚被storm8还是quantcast问了。。。

【在 S********g 的大作中提到】
: 至少以前是 现在不知道
: Kth/median of 2 sorted array...
: leetcode上程序非常繁琐
: 大家有没有好的解法?
: thanks

avatar
S*g
23
至少以前是 现在不知道
Kth/median of 2 sorted array...
leetcode上程序非常繁琐
大家有没有好的解法?
thanks
avatar
r*m
25

黄蓉gg的啊。。。没仔细看啊,应该可以再优化一些吧。
a,b每次应该都能减半的  O(logK)

【在 S********g 的大作中提到】
: saw this online
: http://haixiaoyang.wordpress.com/2012/06/19/kth-element-in-2-so
: but i dont understand why a and b are switched position in the second else
: block...

avatar
K*m
26
目前我能想到最好的建最小堆 (lgm+lgn)
当然了,建堆也需要时间的

【在 S********g 的大作中提到】
: 至少以前是 现在不知道
: Kth/median of 2 sorted array...
: leetcode上程序非常繁琐
: 大家有没有好的解法?
: thanks

avatar
w*x
27

我这个id和黄蓉有半毛钱的关系吗 -_- , 彩虹mm?

【在 r*******m 的大作中提到】
:
: 黄蓉gg的啊。。。没仔细看啊,应该可以再优化一些吧。
: a,b每次应该都能减半的  O(logK)

avatar
t*e
28
觉得leetcode上的解挺intuitive的 也不复杂啊 二分法的idea
avatar
p*2
29
这题Java写很不好写。
avatar
S*g
30
是啊 二爷一语中的。。
C里面可以array A+i 好象java里面不行。。。
面试的时候可不可以 就这一道题用C写啊。。。。
avatar
l*a
31
你为什么这道会用C,别的题就不会用C ne

【在 S********g 的大作中提到】
: 是啊 二爷一语中的。。
: C里面可以array A+i 好象java里面不行。。。
: 面试的时候可不可以 就这一道题用C写啊。。。。

avatar
g*e
32
把首尾两个index都传进去就可以了
search(int[] a, int startA, int endA, int[] b, int startB, int endB)

【在 S********g 的大作中提到】
: 是啊 二爷一语中的。。
: C里面可以array A+i 好象java里面不行。。。
: 面试的时候可不可以 就这一道题用C写啊。。。。

avatar
p*2
33

这道题我碰到过。在提示下给了一个思路,最后拿到offer了。面试的时候不一定要求
那么高。
这题如果没做过的话基本是做不出来。我以前在leetcode上扫了一眼,觉得面试不会出
这么变态的题。面试之前在glassdoor上看到这个公司出了几次这题,也没提起注意,
没想到还真给碰到了。

【在 S********g 的大作中提到】
: 是啊 二爷一语中的。。
: C里面可以array A+i 好象java里面不行。。。
: 面试的时候可不可以 就这一道题用C写啊。。。。

avatar
p*2
34

以前写过,不好写。你有过了OJ的code吗?

【在 g*****e 的大作中提到】
: 把首尾两个index都传进去就可以了
: search(int[] a, int startA, int endA, int[] b, int startB, int endB)

avatar
w*x
35

二爷威武啊~~~~

【在 p*****2 的大作中提到】
:
: 以前写过,不好写。你有过了OJ的code吗?

avatar
p*2
36

你是不是已经拿到了,怎么看不到你做题了。

【在 w****x 的大作中提到】
:
: 二爷威武啊~~~~

avatar
c*t
37
也可以传search(int[] a, int index1, int[] b, int index2, int k), 用recursion
, 代码也就 10来行。
可是如果没有做过,即使知道二分法,也真的很难一次写对

【在 g*****e 的大作中提到】
: 把首尾两个index都传进去就可以了
: search(int[] a, int startA, int endA, int[] b, int startB, int endB)

avatar
w*o
38
这是我见过的最精简的算法,可以用java实现。复杂度是O(lg(m))比leetcode上的
还快。leetcode上的几个实现基本都是merge或merge+binary search的思想,这个是
纯binary search,核心部分只有十几行:(过了OJ)
public double findMedianSortedArrays(int A[], int B[]) {
if((A == null ||A.length == 0) && (B == null || B.length == 0))
return 0.0;

if (A.length >= B.length)
return findMedianSortedArraysInternal(B, A);
else
return findMedianSortedArraysInternal(A, B);
}

double findMedianSortedArraysInternal(int[] A, int[] B) {
int m = A.length;
int n = B.length;

int k = (n + m - 1) / 2;
int l = 0, r = m; // this is m not m-1
while (l < r) {
int mid = l + (r - l) / 2, bIdx = k - mid;
if (bIdx > k || A[mid] < B[bIdx]) {
l = mid + 1;
} else {
r = mid;
}
}

int a = l - 1 >= 0? A[l - 1] : Integer.MIN_VALUE;
int b = k - l >= 0? B[k - l] : Integer.MIN_VALUE;
a = a >= b ? a : b;
if( (n + m) % 2 == 1)
return a;
int c = k - l + 1 >= n? Integer.MAX_VALUE: B[k - l + 1];
int d = l >= m? Integer.MAX_VALUE: A[l];
c = c <= d ? c : d;
return ((double) (a + c)) / 2.0;
}
avatar
g*e
39
我刚被storm8还是quantcast问了。。。

【在 S********g 的大作中提到】
: 至少以前是 现在不知道
: Kth/median of 2 sorted array...
: leetcode上程序非常繁琐
: 大家有没有好的解法?
: thanks

avatar
l*b
40
mark一下
avatar
m*d
41
ft,我这次onsite也被问到了这题

【在 S********g 的大作中提到】
: 至少以前是 现在不知道
: Kth/median of 2 sorted array...
: leetcode上程序非常繁琐
: 大家有没有好的解法?
: thanks

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