Junior — Middle
Como remover eficientemente o primeiro elemento de um segmento sem considerar a ordem, realizando a operação em tempo constante?
sobes.tech IA
Resposta da IA
Para remover o primeiro elemento de um slice em Go sem manter a ordem e em tempo constante, pode substituir o primeiro elemento pelo último, e depois cortar o slice em um elemento:
slice[0] = slice[len(slice)-1]
slice = slice[:len(slice)-1]
Dessa forma, a operação é realizada em O(1), mas a ordem dos elementos no slice é violada.