Redian新闻
>
前面那google题删贴了?
avatar
前面那google题删贴了?# JobHunting - 待字闺中
s*n
1
停好的题目练手:数组a大小m,数组b大小n,两个数组从大到小排序。求第kth大的sum(a[i],a[j]),015, 4, 3, 2, 1
5, 4, 2, 1
avatar
s*n
2
#define OUTPUT (x, y) \
if ( ++c == k) { \
printf("%d %d\n", x, y);\
return;\
}
void found(int[]a, int m, int[] b, int n, int k)
{
int i=0, j=0;
int c=0;
while(iOUTPUT(a[i], b[j]);
if (i==m-1 && jj++;
else if (ji++;
else if (a[i]+ b[j+1] > a[i+1]+b[j]) {
int index = j+1;
while(index a[i+1]+b[j]) {
OUTPUT(a[i], b[index]);
index++;
}
i++;
} else { // a[i]+ b[j+1] <= a[i+1]+b[j]
int index = i+1;
while(index a[i]+b[j+1]) {
OUTPUT(a[index], b[j]);
index++;
}
j++;
}
}
}
avatar
m*m
3
One more:
Select K largest numbers from N
avatar
f*t
4
经典题,几乎没见过完全正确的代码
avatar
g*i
5
刚想了一个办法,不知道行不行。
因为两个数组中的数的和是介于(a[0]+b[0],a[m]+b[n])的,用mxn的时间得出所有可
能的数,然后用counting sort?
感觉m x n有些浪费,应该有办法把不必要的去掉
avatar
g*y
6
你去ihasleetcode的网站上找吧,这道题最优解是二分,但是没有多少人能完全正确写
出来。太简单的写法,不用读就知道:或者效率不高,或者有bug。

sum(a[i],a[j]),0
【在 s******n 的大作中提到】
: 停好的题目练手:数组a大小m,数组b大小n,两个数组从大到小排序。求第kth大的sum(a[i],a[j]),0: 15, 4, 3, 2, 1
: 5, 4, 2, 1

avatar
s*n
7
仔细看看,不是同一题

【在 g**********y 的大作中提到】
: 你去ihasleetcode的网站上找吧,这道题最优解是二分,但是没有多少人能完全正确写
: 出来。太简单的写法,不用读就知道:或者效率不高,或者有bug。
:
: sum(a[i],a[j]),0
avatar
g*y
8
不好意思,看错了。这个要简单很多。这个在面试里好象被推广到NxN的矩阵。

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