- нам дан массив с N элементами, N всегда нечетно
- все элементы массива, кроме одного, имеют четное количество вхождений.
- нам нужно написать код, который возвращает одно непарное значение.
Псевдокод/мысленный процесс моего решения был следующим:
- sort массив
- если первые два элемента равны друг другу, удалите их и снова запустите алгоритм решения рекурсивно для массива минус первые два элемента (после сортировки), т.е. если непарный элемент не найден, продолжаем уменьшать размер массива.
- если первые два элемента НЕ равны друг другу, то первым элементом массива должен быть неспаренный элемент.
Код: Выделить всё
def solution(A):
# write your code in Python 3.6
if len(A) > 1:
A = sorted(A)
if A[0] != A[1]:
return A[0]
else:
solution(A[2:])
else:
return A[0]
Неверный тип результата, ожидается int, найден .
ОШИБКА ВЫПОЛНЕНИЯ (проверенная программа завершилась с кодом выхода 1)
Может ли кто-нибудь помочь мне понять, что это значит и как я могу это исправить? Алгоритмически я считаю, что мое решение правильное, и не понимаю, почему оно не возвращает целочисленные значения, как я указал.
Подробнее здесь: https://stackoverflow.com/questions/705 ... and-python