Redian新闻
>
问一个题,求相同元素最多的两个数组
avatar
问一个题,求相同元素最多的两个数组# JobHunting - 待字闺中
k*g
1
自己想出来的,就假设数组们都是已排序了的吧
比如
A: 1,3,5,7,9,11,20
B: 2,3,5,7,10,11,100
C: 0,3,4,7,12,28,90
则返回A,B,因为他们之间有4个元素相同
avatar
f*u
2
这个就是longest common substring吧?

【在 k***g 的大作中提到】
: 自己想出来的,就假设数组们都是已排序了的吧
: 比如
: A: 1,3,5,7,9,11,20
: B: 2,3,5,7,10,11,100
: C: 0,3,4,7,12,28,90
: 则返回A,B,因为他们之间有4个元素相同

avatar
k*g
3
不一定吧
比如
A: 10 20 30 40 50 60 70
B: 10 22 30 44 50 66 70
C: 11 12 13 14 50 66 70
AB相同的有4个,BC相同的有3个,但longest common substring是BC最长

【在 f*****u 的大作中提到】
: 这个就是longest common substring吧?
avatar
f*u
4
说错了,不是substring,是subsequence,longest common subsequence,经典的dp问
题。

【在 k***g 的大作中提到】
: 不一定吧
: 比如
: A: 10 20 30 40 50 60 70
: B: 10 22 30 44 50 66 70
: C: 11 12 13 14 50 66 70
: AB相同的有4个,BC相同的有3个,但longest common substring是BC最长

avatar
k*g
5
LCS是不错的想法,不过为了简化问题,我已经假设数组都是排了序的,直接两个指针
向前移动就行了吧?
主要是不太清楚怎样处理多个数组的情况
比如A,B,C,D,E,F... 我的想法是搞两个vector,一个存两个数组名字,比如A,B或者C,
F,另一个存相同元素数量。但这样复杂度是O(m^2) (m是数组数量)
还有更好的办法吗?

【在 f*****u 的大作中提到】
: 说错了,不是substring,是subsequence,longest common subsequence,经典的dp问
: 题。

avatar
w*w
6
search for min-hash
avatar
y*3
7
我觉得可以先把数组变成链表,链表的每个Node保存其对应数组的下标和数值,然后用
一个最小化堆保存每个链表head node。
不断的弹出堆顶元素并且根据前后弹出来的堆顶元素的数值统计两两数组的相同元素个
数。
avatar
y*a
8

subsequece 有顺序,楼主这个没有顺序。

【在 f*****u 的大作中提到】
: 说错了,不是substring,是subsequence,longest common subsequence,经典的dp问
: 题。

avatar
m*n
9
又是国旗那道题的变种。
这种题不是有标准解法了吗?
O(M*N) + O(M*Log(M)) + O(M)
N是数组的个数,M是数组的长度。

【在 k***g 的大作中提到】
: 自己想出来的,就假设数组们都是已排序了的吧
: 比如
: A: 1,3,5,7,9,11,20
: B: 2,3,5,7,10,11,100
: C: 0,3,4,7,12,28,90
: 则返回A,B,因为他们之间有4个元素相同

avatar
p*2
10
val a = Vector(1,3,5,7,9,11,20)
val b = Vector(2,3,5,7,10,11,100)
val c = Vector(0,3,4,7,12,28,90)

val aa = Vector(a,b,c)
(for(i_3) last
avatar
w*w
11
能做到这个 那你就牛了。

【在 m*****n 的大作中提到】
: 又是国旗那道题的变种。
: 这种题不是有标准解法了吗?
: O(M*N) + O(M*Log(M)) + O(M)
: N是数组的个数,M是数组的长度。

avatar
v*o
12
求教哪个国旗题?

又是国旗那道题的变种。这种题不是有标准解法了吗?O(M*N) O(M*Log(M)) O(M)N
是数组的个数,M是数组的长度。

【在 m*****n 的大作中提到】
: 又是国旗那道题的变种。
: 这种题不是有标准解法了吗?
: O(M*N) + O(M*Log(M)) + O(M)
: N是数组的个数,M是数组的长度。

avatar
f*u
13
同问

)N

【在 v********o 的大作中提到】
: 求教哪个国旗题?
:
: 又是国旗那道题的变种。这种题不是有标准解法了吗?O(M*N) O(M*Log(M)) O(M)N
: 是数组的个数,M是数组的长度。

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