【发布时间】:2022-01-05 16:52:42
【问题描述】:
给定一个整数 N
和一个长度为 N 的数组,由 0 到 N-1 的整数组成
可能包含也可能不包含所有整数,并且可能包含重复项。
从索引 i 到索引 j 找到一个子数组 (i,j),使其包含所有
数组中具有最小长度的整数。输出是这样的长度
一个子数组
示例: A=[2,1,1,3,2,1,1,3] 所以最小子数组长度 =3 作为 A[2] 到 A[ 4] 包含所有数字
我的想法:
维护一个计数器数组和两个索引开始和结束,其中包含元素计数
从数组的开始到结束索引。
每次更新计数器的值时迭代数组
并将结束设置为当前索引
并递增 start 直到 counter[start]>1。最初开始=0,结束=0
这种方法在我看来在逻辑上是正确的。我在编程测试期间遇到了这个问题,并且确实通过了所有示例测试用例。但它失败了所有隐藏的案例。我可能在这里遗漏了一些东西。
【问题讨论】:
标签: algorithm