Enunciados de questões e informações de concursos
Você está trabalhando em um projeto Python 3.X que exige a implementação de um algoritmo que processa grandes quantidades de dados de forma eficiente. Para isso, você decide criar uma função que recebe uma lista de números inteiros e retorna uma nova lista com os números pares elevados ao quadrado e os números ímpares elevados ao cubo. Além disso, a função deve ter uma complexidade de tempo de O(n). Qual implementação atende a esses requisitos?
def process_numbers(numbers):
result = []
for x in numbers:
if x % 2 == 0:
result.append(x ** 2)
else:
result.append(x ** 3)
return result
def process_numbers(numbers):
result = [x ** 2 if x % 2 == 0 else x ** 3 for x in numbers]
return result
def process_numbers(numbers):
even_squared = list(filter(lambda x: x % 2 == 0, numbers))
odd_cubed = list(filter(lambda x: x % 2 != 0, numbers))
return [x ** 2 for x in even_squared] + [x ** 3 for x in odd_cubed]
def process_numbers(numbers):
even_squared = map(lambda x: x ** 2, filter(lambda x: x % 2 == 0, numbers))
odd_cubed = map(lambda x: x ** 3, filter(lambda x: x % 2 != 0, numbers))
return list(even_squared) + list(odd_cubed)