Sobes.tech
Junior — Middle

Comment peut-on supprimer efficacement le premier élément d'une tranche sans tenir compte de l'ordre, en effectuant l'opération en temps constant?

sobes.tech IA

Réponse de l'IA

Pour supprimer le premier élément d'une tranche en Go sans conserver l'ordre et en temps constant, vous pouvez remplacer le premier élément par le dernier, puis couper la tranche d'un élément :

slice[0] = slice[len(slice)-1]
slice = slice[:len(slice)-1]

Ainsi, l'opération s'effectue en O(1), mais l'ordre des éléments dans la tranche est perturbé.