1 个不稳定版本
0.1.0 | 2021 年 7 月 10 日 |
---|
#1712 在 数据结构
18KB
252 行
graphalgs
描述
MexSet 数据结构是对一个能够快速找到 MEX 的集合的实现。
MEX(最小排除值)是自然数集合的一个子集的最小排除的自然数。也就是说,它是补集的最小值。
用法
作为库
use mexset::MexSet;
let mut set: MexSet<u32> = MexSet::new();
assert_eq!(set.minimum_excluded(), 0); // The MEX of an empty set is 0
set.insert(2);
set.insert(1);
assert_eq!(set.minimum_excluded(), 0); // 0 is the smallest missing number
set.insert(0);
assert_eq!(set.minimum_excluded(), 3); // mex({0, 1, 2}) = 3
set.insert(4);
assert_eq!(set.minimum_excluded(), 3); // mex({0, 1, 2, 4}) = 3
set.insert(3);
assert_eq!(set.minimum_excluded(), 5); // mex({0, 1, 2, 3, 4}) = 5
set.remove(&1);
assert_eq!(set.minimum_excluded(), 1); // mex({0, 2, 3, 4}) = 1
如果您有任何评论或建议,或者您突然发现了一个错误,请发起一个新的问题或池请求。
依赖关系
~490KB