由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 两个sorted array找median
相关主题
find median for k sorted arrays问到题
找第K个最小的元素这个题目的比较好的方法是什么?
刷题刷到没自信了sleetcode上Median of Two Sorted Arrays这个题也太复杂了。。
优步面试,哎。。。请教一个题: Median of Two Sorted Arrays
请教Find Median Of Two Sorted Arraysmedian of K sorted array
一个算法题:Selecting median of three sorted arraysMedian of Two Sorted Arrays
找2个sorted array中的第K小的元素,有O(lgn)方法吗?M家HR interview
median of an array of ints, 请问这题的经典回答是什么?谢谢终于弄明白median of two sorted arrays了,发帖庆祝一下
相关话题的讨论汇总
话题: int话题: ae话题: mid话题: max话题: min
进入JobHunting版参与讨论
1 (共1页)
H*M
发帖数: 1268
1
其实远比你们想象的要纷繁复杂.别以为每次甩掉一半就好了.
写下code try try呵呵.如果你能在半小时之内编好没bug(真实性全凭自觉),我2个包子
送上.嘿嘿.
y****i
发帖数: 23
2
没给任何限制,那就多用m+n的空间,把A,B合成一个array O(m+n), 取median O(1)
g*******y
发帖数: 1930
3
如果一个数组个数为偶数,median的定义是中间两个数,还是其平均值?
S*********N
发帖数: 6151
4

这位同学做题做疯了?
我觉得的你的水平比我高很多。
人际关系和运气很重要。不要限于题海战术。

【在 H*M 的大作中提到】
: 其实远比你们想象的要纷繁复杂.别以为每次甩掉一半就好了.
: 写下code try try呵呵.如果你能在半小时之内编好没bug(真实性全凭自觉),我2个包子
: 送上.嘿嘿.

H*M
发帖数: 1268
5
median定义为:
如果是奇数,则是中间的那个数
如果是偶数,则为中间两个数的平均.

【在 g*******y 的大作中提到】
: 如果一个数组个数为偶数,median的定义是中间两个数,还是其平均值?
E*******0
发帖数: 465
6
log(m+n)
H*M
发帖数: 1268
7
我当然知道log(m+n)
我说的是知道怎么做,但是写不出正确的code短时间里
是很多人的通病

【在 E*******0 的大作中提到】
: log(m+n)
E*******0
发帖数: 465
8
length(A)=n; length(B)=m.
Get the median of array A, get the kth in array B.
if k if k=m/m;
if k>m/2;
Answer question for the RP.
E*******0
发帖数: 465
9
rs=function(A,aS,aE,B,bS,bE)
{
n=length(A);
m=length(B);
flag=A((aS+aE)/2);
k=pos(B,flag);
if ((aS+aE)/2+k)==(m+n)/2)
bid it;
elseif ((aS+aE)/2+k)<(m+n)/2)
elseif ((aS+aE)/2+k)<(m+n)/2)
}
E*******0
发帖数: 465
10
recursive function.
It cost too much time.
hehe. Just idea, hehe.
相关主题
一个算法题:Selecting median of three sorted arrays问到题
找2个sorted array中的第K小的元素,有O(lgn)方法吗?这个题目的比较好的方法是什么?
median of an array of ints, 请问这题的经典回答是什么?谢谢sleetcode上Median of Two Sorted Arrays这个题也太复杂了。。
进入JobHunting版参与讨论
H*M
发帖数: 1268
11
我说的是可以执行的没有bug的code

【在 E*******0 的大作中提到】
: rs=function(A,aS,aE,B,bS,bE)
: {
: n=length(A);
: m=length(B);
: flag=A((aS+aE)/2);
: k=pos(B,flag);
: if ((aS+aE)/2+k)==(m+n)/2)
: bid it;
: elseif ((aS+aE)/2+k)<(m+n)/2)
: elseif ((aS+aE)/2+k)<(m+n)/2)

E*******0
发帖数: 465
12
Sorry. my answer is wrong. My LD gave me a better answer which time
complexity is log(m+n).
j*****j
发帖数: 115
13
int foo(int* a, int* b, int a_min, int a_max, int b_min, int b_max)
{
if((a_max-a_min==1)&&(b_max-b_min==1)) return median of a[a_min],a[a_max
],b[b_min],b[b_max];

int a_mid=(a_min+a_max)/2;
int b_mid=ceil((b_min+b_max)/2);
if(a[a_mid]==b[b_mid]) return a[a_mid];
elseif(a[a_mid] else return foo(a,b,a_min,a_mid,b_mid,b_max);
}
H*M
发帖数: 1268
14
sommthing like this wont be good

max

【在 j*****j 的大作中提到】
: int foo(int* a, int* b, int a_min, int a_max, int b_min, int b_max)
: {
: if((a_max-a_min==1)&&(b_max-b_min==1)) return median of a[a_min],a[a_max
: ],b[b_min],b[b_max];
:
: int a_mid=(a_min+a_max)/2;
: int b_mid=ceil((b_min+b_max)/2);
: if(a[a_mid]==b[b_mid]) return a[a_mid];
: elseif(a[a_mid]: else return foo(a,b,a_min,a_mid,b_mid,b_max);

j*****j
发帖数: 115
15
这个代码有什么问题吗?
我觉得这道题目在coding的时候有两个地方比较tricks
第一个是recurvise的结束条件,是剩4个元素的时候结束。
第二个是ceil()来找第二个数组的median,主要是保证数组是偶数个时,两边扔掉的数
组个数一样
H*M
发帖数: 1268
16
I dont have time to check your codes..
Write bug free codes and I will send you the test cases.

【在 j*****j 的大作中提到】
: 这个代码有什么问题吗?
: 我觉得这道题目在coding的时候有两个地方比较tricks
: 第一个是recurvise的结束条件,是剩4个元素的时候结束。
: 第二个是ceil()来找第二个数组的median,主要是保证数组是偶数个时,两边扔掉的数
: 组个数一样

l******o
发帖数: 144
17
能给我发一份test cases么? 想测试一下看对不对. 多谢,呵呵. 当然花了不止30分钟
就是了.

I dont have time to check your codes..
Write bug free codes and I will send you the test cases.

【在 H*M 的大作中提到】
: I dont have time to check your codes..
: Write bug free codes and I will send you the test cases.

n**x
发帖数: 30
18
写得有点恶心,细节没有优化。后半部分感觉可以优化掉,但不知道怎么证明。
#include
#include
inline int IsOdd(int x){
return (x&1)==1;
}
inline int IsEven(int x){
return (x&1)==0;
}
int getmedian(int *s1,int *e1,int *s2,int *e2){
int N1=(e1-s1),N2=(e2-s2);
int N=N1+N2;
int NHalf=(N1+N2)>>1;
float m1,m2;
int remainHead=0,remainTail=0;
while(remainHead N1=(e1-s1);
N2=(e2-s2);
if(IsOdd(N1)) m1=s1[N1>>1];
else m1=(s1[(N1>>1)-1]+

【在 H*M 的大作中提到】
: 其实远比你们想象的要纷繁复杂.别以为每次甩掉一半就好了.
: 写下code try try呵呵.如果你能在半小时之内编好没bug(真实性全凭自觉),我2个包子
: 送上.嘿嘿.

b****j
发帖数: 78
19
这道题是log(m+n)吗?我觉得只能做到log(m*n)

【在 E*******0 的大作中提到】
: Sorry. my answer is wrong. My LD gave me a better answer which time
: complexity is log(m+n).

r*****t
发帖数: 712
20
两个数组大小,然后数数不就好了吗?

【在 H*M 的大作中提到】
: 其实远比你们想象的要纷繁复杂.别以为每次甩掉一半就好了.
: 写下code try try呵呵.如果你能在半小时之内编好没bug(真实性全凭自觉),我2个包子
: 送上.嘿嘿.

x***y
发帖数: 633
21
Can you give some details about the algorithm when m!=n? thanks..

【在 H*M 的大作中提到】
: 我当然知道log(m+n)
: 我说的是知道怎么做,但是写不出正确的code短时间里
: 是很多人的通病

1 (共1页)
进入JobHunting版参与讨论
相关主题
终于弄明白median of two sorted arrays了,发帖庆祝一下请教Find Median Of Two Sorted Arrays
median of two sorted arrays的时间复杂度(附上了过了oj的代码)一个算法题:Selecting median of three sorted arrays
贡献一个Median of two sorted arrays的java code找2个sorted array中的第K小的元素,有O(lgn)方法吗?
Find Median Of Two Sorted Arraysmedian of an array of ints, 请问这题的经典回答是什么?谢谢
find median for k sorted arrays问到题
找第K个最小的元素这个题目的比较好的方法是什么?
刷题刷到没自信了sleetcode上Median of Two Sorted Arrays这个题也太复杂了。。
优步面试,哎。。。请教一个题: Median of Two Sorted Arrays
相关话题的讨论汇总
话题: int话题: ae话题: mid话题: max话题: min