问题描述
问题:
给定一个由N个不同整数组成的数组A和一个由整数组成的数组B(不需要是唯一的)。找到最小编号要添加到B才能使A成为子序列的数字。
我的策略:
很简单-找到最长的公共子序列lcs,因此答案是sizeof(A)-lcs。
我的代码:
init(frame: CGRect = .zero,with annotation: Annotation) {
super.init(frame: frame)
self.annotation = annotation
configure()
}
我的输出:
我输出错误。 (主要相差1。)我还在一些测试用例中获得TLE。
有人可以找到我在逻辑或代码方面出问题的地方吗?
解决方法
如果A == [1,2,3,4,5]
和B == [1,5]
,则最长公共序列为2,答案为3,但是您只需在3
上加上一个数字B
即可满足要求。所以总体逻辑似乎不正确