Давайте возьмем задачу Leetcode: «первая буква появляется дважды» (
https://leetcode.com/problems/first-let ... ear-twice/). Общее решение, которое я придумал, заключалось в том, чтобы перебрать строку, сохранить значения в «просмотренном» списке и, если следующее значение уже есть в «просмотренном» списке, вернуть это значение.
Итак, если у меня есть такой код:
Код: Выделить всё
class Solution:
def repeatedCharacter(self, s: str) -> str:
seen = []
for i in s:
if i in seen:
return i
else:
seen.append(i)
Разве это отличается (с точки зрения времени или памяти) от этого:
Код: Выделить всё
class Solution:
def repeatedCharacter(self, s: str) -> str:
seen = []
for i in s:
if i not in seen:
seen.append(i)
else:
return i
Один способ на самом деле лучше/эффективнее другого, или это просто предпочтение набора текста?
Подробнее здесь:
https://stackoverflow.com/questions/783 ... -statement