วิธีการดังกล่าวข้างต้นกำหนดให้แต่ละเซลล์สามารถมีจำนวนมากพอที่จะเก็บจำนวนครั้งที่อาเรย์จะต้องเริ่มต้นใหม่ซึ่งเป็นโทษพื้นที่ที่สำคัญ หากช่องมีความสามารถในการถือครองอย่างน้อยหนึ่งค่าที่จะไม่เขียนได้ถูกต้องตามกฎหมายหนึ่งอาจหลีกเลี่ยงการอื่น ๆ (ที่ไม่คงที่) โทษพื้นที่ใดที่ค่าใช้จ่ายของการเพิ่มนั้น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
จะได้รับเพิ่มขึ้น)
โปรดทราบว่าเราสามารถแทนที่ค่าคงที่ "สี่" ด้านบนด้วยหมายเลขอื่น ๆ โดยทั่วไปแล้วค่าที่มากกว่าจะต้องการการติดแท็กงานน้อย เนื่องจากอาร์เรย์ของสล็อตที่ติดแท็กจะต้องถูกล้างค่าของสามหรือสี่จึงเหมาะสมที่สุด เนื่องจากค่าสี่นั้นใกล้เคียงกับค่าดีที่สุดดีกว่าสองหรือแปดและสะดวกกว่าหมายเลขอื่น ๆ จึงน่าจะเป็นตัวเลือกที่สมเหตุสมผลที่สุด