Найти клоновых солдат

PythonBeginner
Практиковаться сейчас

Введение

В этом испытании мы будем иметь задачу найти всех клонов солдат в форме парада клоновой армии. Клоновые солдаты уникально идентифицируются номером в определенном диапазоне, и их можно представить в виде квадратной матрицы. Наша цель - подсчитать количество клонов для каждого идентификатора и вернуть статистический результат в формате словаря. Решение должно быть реализовано в методе count_clone_soldier(matrix: List[List[str]]) в файле count_clone_soldier.py.

Поиск солдат-клонов

Описание задачи (Challenge Description)

В далекой галактике существует галактическая империя, обладающая мощной армией клонов. Задача состоит в том, чтобы найти всех солдат-клонов в парадном строю армии клонов галактической империи.

Детали задачи (Challenge Details)

Каждый солдат-клон в галактической империи уникально идентифицируется числом от 10000000 до 1000ffff. Клоны и их оригиналы имеют одинаковый ID.

Парадный строй армии клонов может быть представлен в виде квадратной матрицы, например:

[['10000000', '10000012', '1000000d', '1000000d', '10000002'],
['10000004', '10000011', '10000017', '1000000b', '1000000f'],
['10000016', '1000000d', '10000018', '10000012', '10000011'],
['10000001', '1000000c', '10000008', '10000013', '10000000'],
['10000019', '10000000', '1000000e', '10000003', '10000004']]

Задача состоит в том, чтобы найти всех солдат-клонов из матрицы и подсчитать количество фактических клонов для каждого ID. Поскольку клоны и их оригиналы имеют одинаковый ID, ID, который появляется N раз в матрице, состоит из одного оригинала и N-1 клонов. Следовательно, количество клонов для ID - это общее количество его появлений минус один. Наконец, верните статистический результат в формате словаря { 'ID': clone_count }, где ключи в словаре должны быть упорядочены по возрастанию на основе ID. Например, для матрицы выше статистический результат солдат-клонов выглядит следующим образом:

{
'10000000': 2,
'10000004': 1,
'1000000d': 2,
'10000011': 1,
'10000012': 1,
}

Этот результат показывает, что для ID 10000000 (который появляется 3 раза в матрице) есть 2 солдата-клона (всего 3 - 1 оригинал). Аналогично, для ID 10000004 (который появляется 2 раза) есть 1 солдат-клон (всего 2 - 1 оригинал). ID, которые появляются только один раз (например, 10000002), имеют ноль клонов и не должны быть включены в итоговый словарь.

Требования к задаче (Challenge Requirements)

  1. Убедитесь, что файл count_clone_soldier.py существует в каталоге ~/project.
  2. Реализуйте задачу в методе count_clone_soldier(matrix: List[List[str]]) в файле count_clone_soldier.py.
  3. Не изменяйте указанное имя файла, имя класса, определение метода и имя метода.
  4. Не изменяйте отношения наследования класса и путь к файлу.
  5. Код можно писать только в указанной области, то есть в файле count_clone_soldier.py.

Резюме

Поздравляем! Вы завершили испытание "Найти клоновых солдат". Вы можете практиковаться в более лабораториях в LabEx, чтобы улучшить свои навыки.

✨ Проверить решение и практиковаться