我有一个包含 N 个元素的数组,这些元素的值在 0 <= value < N 范围内,并且可以是不连续的。对于这个数组,我需要找到一个包含所有唯一值的切片,同时它将是满足上述标准的最短切片。
例如,对于具有 5 个唯一值 {1, 2, 3, 4, 8} 的数组 {1, 2, 1, 2, 1, 4, 3, 4, 8, 1, 8},我们正在讨论切片 {2 , 1, 4, 3, 4, 8} 长度为 6。
有没有最佳的方法来做到这一点?至于现在,我的实现过于复杂(嵌套循环)。我试图想出一个算法来以最佳方式做到这一点,但遗憾的是无济于事。至于现在,我试图想出一些东西,在遍历数组时利用每个唯一值的出现,但我的想法仍然不够清晰。欢迎任何想法,这个问题困扰了我很长时间。:) 先感谢您。
此致