---
id: TASK-21
title: 'Разбор задачи: Single Number (Hash Table)'
status: Done
assignee:
  - '@assistant'
created_date: '2026-09-10 07:50'
updated_date: '2026-09-10 08:28'
labels: []
dependencies: []
references:
  - applications/yandex-codenv/algo-solutions/_template.md
priority: high
type: task
ordinal: 21000
---

## Description

<!-- SECTION:DESCRIPTION:BEGIN -->
Файл: algo-solutions/hash-table/07-single-number.md. **Важно: решение через XOR (O(1) памяти), не через hash.**
<!-- SECTION:DESCRIPTION:END -->

## Acceptance Criteria
<!-- AC:BEGIN -->
- [x] #1 Файл создан со всеми секциями формата
<!-- AC:END -->

## Implementation Plan

<!-- SECTION:PLAN:BEGIN -->
1. Прочитать шаблон и существующие решения для соблюдения конвенций
2. Создать файл 07-single-number.md в папке hash-table
3. Заполнить все секции шаблона:
   - Условие задачи (Single Number, LeetCode 136)
   - Ключевая идея: XOR отменяет парные элементы
   - Решение на Ruby через XOR (O(1) памяти, как указано в задаче)
   - Разбор на примере
   - Edge Cases
   - Типичные ошибки
   - Альтернативные подходы (brute-force через хэш → XOR как оптимальный)
4. Проверить, что решение через XOR, а не через hash (как указано в задаче)
5. Зафиксировать изменения
<!-- SECTION:PLAN:END -->

## Implementation Notes

<!-- SECTION:NOTES:BEGIN -->
✅ Файл создан: applications/yandex-codenv/algo-solutions/hash-table/07-single-number.md
✅ Все 9 секций шаблона заполнены (включая те же заголовки, что в _template.md)
✅ Решение через XOR (reduce(:^)), как указано в задаче — не через hash
✅ Альтернативные подходы сравнивают hash (O(n) памяти) с XOR (O(1) памяти)
✅ Стиль и формат соответствуют существующим решениям в папке hash-table/
<!-- SECTION:NOTES:END -->

## Final Summary

<!-- SECTION:FINAL_SUMMARY:BEGIN -->
Создан разбор задачи Single Number (LeetCode 136) — файл 07-single-number.md в hash-table/. Решение через XOR (nums.reduce(:^)), O(n) по времени, O(1) по памяти. Все 9 секций шаблона заполнены. Формат и стиль соответствуют существующим решениям.
<!-- SECTION:FINAL_SUMMARY:END -->
