Sobes.tech
Junior — Middle

Hogyan lehet hatékonyan eltávolítani az első elemet egy szeletből anélkül, hogy figyelembe vennénk a sorrendet, miközben az műveletet állandó időben végezzük?

sobes.tech MI

Válasz az MI-től

An első elem törlése Go-ban egy szeletből anélkül, hogy megőriznénk a sorrendet és állandó időben, úgy történhet, hogy az első elemet lecseréljük az utolsóra, majd levágjuk a szeletet egy elemmel:

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

Így a művelet O(1) idő alatt végrehajtható, de a szelet elemeinek sorrendje megsérül.