Sobes.tech
Junior — Middle

Kuidas tõhusalt eemaldada esimene element vahemikust, arvestamata järjekorda, tehes selle operatsiooni konstantse ajaga?

sobes.tech AI

Vastus AI-lt

Et eemaldada esimene element Go-s lõigust ilma järjekorda säilitamata ja püsivalt ajal, saab asendada esimese elemendi viimasega ning seejärel lõigata lõigu ühe elemendiga:

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

Seega toimub operatsioon O(1) ajal, kuid lõigu elementide järjekord on rikutud.