Одна программа об удалении элемента принята, а другая нет - PullRequest
0 голосов
/ 13 января 2020

В чем разница между следующими двумя ответами на leetcode 27. Удалить элемент ? Оба они возвращают один и тот же результат, но только номер 1 был принят. Я понятия не имею, почему № 2 не является приемлемым.

Вывод

#Output
[2,2]

Программы

№ 1

class Solution(object):
    def removeElement(self, nums, val):
        """
        :type nums: List[int]
        :type val: int
        :rtype: int
        """
        for x in nums[:]:
            if x == val:
                nums.remove(x)

        return nums

№ 2

class Solution(object):
    def removeElement(self, nums, val):
        """
        :type nums: List[int]
        :type val: int
        :rtype: int
        """
        result = [s for s in nums if s != val]
        result = str(result).replace(' ', '')
        return result

1 Ответ

0 голосов
/ 13 января 2020

Поскольку ваша вторая функция возвращает длину строки, а не длину фактического списка.

Вы можете просто распечатать переменную результата, и вы увидите, что она содержит символы, такие как открывающая и закрывающая скобка и запятая, которые все добавляют к конечной длине.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...