avatar
s*i
1
Given three arrays A,B,C containing unsorted numbers. Find three numbers a,
b, c from each of array A, B, C such that |a-b|, |b-c| and |c-a| are minimum
Please provide as efficient code as you can.
avatar
l*a
2
sort separately,
then merge multiple sorted list?

,
minimum

【在 s*i 的大作中提到】
: Given three arrays A,B,C containing unsorted numbers. Find three numbers a,
: b, c from each of array A, B, C such that |a-b|, |b-c| and |c-a| are minimum
: Please provide as efficient code as you can.

avatar
A*i
3
赶脚像小学奥数题
avatar
A*i
4
错了应该是初中奥数题,多项式展开还是怎么来着,以前一定做过
avatar
f*w
5
什么叫|a-b|, |b-c|, |c-a|最小?
三个的和最小?
avatar
s*i
6
他们之间最大的,最小。
彼此间的距离。
【2,4,8】
【1,9,3】
【-4,7,6】
8,9,7是解
avatar
r*7
7
any better solution so far?

【在 l*****a 的大作中提到】
: sort separately,
: then merge multiple sorted list?
:
: ,
: minimum

avatar
h*e
8
O(n logn)?
刚看了阿里题目 2013ali也有这道题。
avatar
r*3
9
O(n1+n2+n3) n1,n2,n3 是三个数组的长度
|a-b|+|b-c|+|c-a| 其实就是求 2*(最大数-最小数) (eg. 如果a>b>c, |a-b|+|b-c|+|
c-a| = 2(a-c) )
三个指针i, j, k
从头开始扫, 总是移动最小的那个指针 更新当前最小的 2*(最大数-最小数) 即可
证明正确性:
在扫的过程中, 对于三个数组中的任意一个数, 分三种情况讨论 (下面假设取出的三个
数 a>b>c)
1. 如果他作为b, 那么永远不影响最后结果
2. 如果他作为a, 在他作为a的时候, 由于一直在移动另两个指针并接近a, 肯定能扫到
那个对于a而言最大的c
3. 如果他作为c, 假设 a或者b不是自己数组中比c大的最小值, 那么肯定有在c数组还
没扫到c的时候有移动a,b数组指针的情况, 但这和假设矛盾
证明写的有点乱 求大神更好更清楚的证明
EDIT: 看错了, 应该先sort的 = =
avatar
n*n
10
语文水平需要提高

【在 s*i 的大作中提到】
: 他们之间最大的,最小。
: 彼此间的距离。
: 【2,4,8】
: 【1,9,3】
: 【-4,7,6】
: 8,9,7是解

avatar
t*e
11
这题有比较简洁明了的解法么? careercup上看到20多个回帖,看上去每个都不一样
avatar
s*i
12
我看 robot13的解法挺好的。

[发表自未名空间手机版 - m.mitbbs.com]

【在 t*******e 的大作中提到】
: 这题有比较简洁明了的解法么? careercup上看到20多个回帖,看上去每个都不一样
avatar
t*e
13
有具体的代码实现么?感觉先决条件a>b>c不一定能满足啊

【在 s*i 的大作中提到】
: 我看 robot13的解法挺好的。
:
: [发表自未名空间手机版 - m.mitbbs.com]

avatar
z*t
14
写了一下代码,放在
http://ideone.com/M3ZaKt
测了几个test case,都过了

【在 t*******e 的大作中提到】
: 有具体的代码实现么?感觉先决条件a>b>c不一定能满足啊
avatar
m*a
15
可以直接就用set来做,A和B分别放到seta, setb里面,然后遍历C,对C[i]找seta.
lower_bound(C[i]), seta.lower_bound(C[i])-1, setb.lower_bound(C[i]), setb.
lower_bound(C[i])-1,然后seta, setb和C[I]组合来计算,也是nlogn的
avatar
l*b
16
赶紧robot13的解法挺好的 排序nlogN 然后搜索只要N 虽然总体是nlogN 但是思路比较
清楚而且好说好实现
avatar
m*k
17
这题本质上貌似是Finding the Minimum Window in S which Contains All Elements
from T ?

,
minimum

【在 s*i 的大作中提到】
: Given three arrays A,B,C containing unsorted numbers. Find three numbers a,
: b, c from each of array A, B, C such that |a-b|, |b-c| and |c-a| are minimum
: Please provide as efficient code as you can.

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