[R6B] MEX
- 难度 入门
- 时限 1s
- 空限 512m
- 计数
数据规模:,, 互不相等。
思路
共 个数,而集合只有 个元素,所以 一定不超过 。
标记所有满足 的元素,然后从 开始找第一个未被标记的数即可。
复杂度:时间 ,空间 。
仓颉实现
import std.convert.*
import std.env.*
main() {
let reader = getStdIn()
let n = Int64.parse(reader.readln().getOrThrow())
let a = reader.readln().getOrThrow().split(" ", removeEmpty: true).map({ p => Int64.parse(p) })
let seen = Array<Bool>(n + 1, { _ => false })
for (v in a) {
if (v <= n) {
seen[v] = true
}
}
for (x in 0..(n + 1)) {
if (!seen[x]) {
println(x)
return
}
}
}