Занятие 11. Справочник
Занятие 11. Справочник
Функция mex (минимальный элемент, не встречаемый во множестве неотрицательных чисел).
//c - реальное количество элементов в массиве a static int mex (int[] a, int c) { int D = 1000; //максимально возможное количество вершин boolean[] used = new boolean[D+1]; for (int i = 0; i < c; i++) if (a[i] <= D) used[a[i]] = true; int result; //условие выхода не нужно for (int i=0; ; ++i) if (!used[i]) { result = i; break; } for (int i = 0; i < c; i++) if (a[i] <= D) used[a[i]] = false; return result; }