【发布时间】:2015-08-15 15:55:51
【问题描述】:
假设我有一个这样的数组:
1 2 3 4 5
给定对是(2,3),那么其中不存在 (2,3) 的可能子数组的数量将是,,
1. 1
2. 2
3. 3
4. 4
5. 5
6. 1 2
7. 3 4
8. 4 5
9. 3 4 5
所以,答案将是9。
显然,这样的配对可以更多。
现在,我想到的一种方法是 O(n^2),它涉及找到最大长度 n 的所有此类元素。我能做得更好吗?谢谢!
【问题讨论】:
-
你的意思是连续子数组(如果不是,你的例子是错误的,例如 [1, 3])?
-
该数组中可以有重复的数字吗?
-
@Amit,子数组显然意味着连续的元素。
-
@Sumurai8,如果原始数组包含重复的数字并且它们形成一个子数组并且不是所需对的一部分,是的。 :)