Fácil 0 resolvidos 0% de aceitação

Swap First and Last

Exchange the first and last items of a list.

O que você vai aprender

  • Acessar o primeiro e o último item
  • Trocar dois valores
  • Tratar listas curtas

Problema

Return a copy of the list with its first and last elements swapped. Lists with fewer than two elements stay the same.

Implement swap_first_last(items).

Input

items: The list of integers.

Output

Return the list with the ends swapped.

Restrições

0 ≤ length ≤ 100,000

Exemplos

Exemplo 1
Entrada:
items = [1, 2, 3, 4]

Saída esperada:
expected = [4, 2, 3, 1]
Entrada:
std::vector<long long> items = {1, 2, 3, 4};

Saída esperada:
std::vector<long long> expected = {4, 2, 3, 1};
Entrada:
long[] items = new long[] {1, 2, 3, 4};

Saída esperada:
long[] expected = new long[] {4, 2, 3, 1};

Explicação

1 and 4 trade places: [4, 2, 3, 1].

Exemplo 2
Entrada:
items = [9]

Saída esperada:
expected = [9]
Entrada:
std::vector<long long> items = {9};

Saída esperada:
std::vector<long long> expected = {9};
Entrada:
long[] items = new long[] {9};

Saída esperada:
long[] expected = new long[] {9};

Explicação

A single item has nothing to swap with: [9].

Como abordar

Tente sozinho primeiro e depois abra uma dica de cada vez.

Dica 1

Só as duas pontas precisam mudar; tudo no meio continua igual.

Dica 2

Monte uma nova lista mantendo a parte do meio e colocando o último item primeiro, depois o primeiro por último.

Dica 3

Lembre que os casos de lista vazia e de um único elemento devem ser retornados sem שינוי.

Complexidade esperada

tempo O(n), espaço extra O(n)

Referências

Este desafio foi adaptado para o CodeUtility. Siga o enunciado e as restrições acima.

Aprenda com outros

Soluções da comunidade

Ainda não há soluções publicadas. Resolva este desafio para compartilhar a primeira.