【发布时间】:2021-10-30 05:14:35
【问题描述】:
求给定数组的所有子数组的 MEX 之和。墨西哥 (排除最小值)数组是最小的非负整数 不属于数组。
例如:[2,2,1] 的 MEX 是 0,因为0不属于数组。 [3,1,0,1] 的 MEX 为 2, 因为 0 和 1 属于数组,但 2 不属于。墨西哥 [0,3,1,2] 是 4 因为 0, 1, 2 和 3 属于数组,但 4 确实 不是。值得一提的是,长度为 n 的数组的 MEX 是 总是介于 0 和 n 之间。
约束: n
我想到了一个不会通过给定约束的 O(n^2) 解决方案。我们需要找到一个 O(nlogn) 或 O(n) 的解决方案
【问题讨论】:
-
你的 O(n^2) 解决方案是什么?
-
是的,我通过了这个解决方案,但似乎有点难以理解。这个问题可以用dp之类的来解决吗?
标签: arrays algorithm dynamic-programming segment-tree