Вищезгаданий підхід вимагає, щоб кожна комірка могла вмістити кількість, достатньо велику, щоб утримувати кількість разів, можливо, потребувати повторної ініціалізації масиву, що є суттєвим космічним покаранням. Якщо слот здатний утримувати щонайменше одне значення, яке ніколи не буде законно записане, можна уникнути будь-якого іншого (непостійного) пробілу за рахунок додавання O(Wlg(N))часової кари, де Wкількість відокремлених проміжків масиву, записаних між операції очищення та Nрозмір масиву. Наприклад, припустимо, що одне буде зберігати цілі числа від -2,147,483,647 до 2,147,483,647 (але ніколи -2,147,483,648), і потрібно, щоб пусті елементи масиву читалися як нульові. Почніть із заповнення масиву з -2,147,483,648 (викликайте це значенняB). Читаючи слот масиву для програми, повідомте про значення Bяк нуль. Перед записи слота масиву I, перевірте чи проведено Bі якщо це так і Iбільше одиниці, зберігати нуль в слот I/4після виконання аналогічної перевірки для цього місця (і, якщо воно проведено B, I/16і т.д.).
Щоб очистити масив, почніть з Iдорівнює 0 або 1, залежно від бази масиву (алгоритм, як описано, буде працювати для будь-якого). Потім повторіть таку процедуру: якщо елемент Iє Bприростом Iі, якщо це робить, дається кратне чотирьох, діліть на чотири (припиніть, якщо ділення дає значення 1); якщо елемента Iнемає B, збережіть Bйого та помножте Iна чотири (якщо Iпочинається з нуля, множення на чотири залишить його нульовим, але оскільки пункт 0 буде порожнім, Iзбільшуватимуться).
Зауважте, що можна замінити постійну "чотири" вище на інші числа, при цьому великі величини зазвичай вимагають меншої мітки роботи, але менші значення, як правило, вимагають меншої очистки роботи; оскільки слоти масиву, які позначені тегами, повинні бути очищені, значення трьох-чотирьох майже напевно є оптимальним; оскільки значення чотири, безумовно, близьке до оптимального, краще, ніж два або вісім, і зручніше, ніж будь-яке інше число, це, здавалося б, є найбільш розумним вибором.