Sobes.tech
Junior — Middle

Ինչպե՞ս արդյունավետ կերպով հեռացնել առաջին տարրը կտորից՝ հաշվի չառնելով կարգը, և այդ գործողությունը կատարել ժամանակի հաստատունում։

sobes.tech AI

Պատասխան AI-ից

Go-ում սղագրությունից առաջին տարրն հեռացնելու համար առանց կարգը պահպանելու և կայուն ժամանակում, կարող եք փոխարինել առաջին տարրն վերջինով, ապա կրճատել սղագրությունը մեկ տարրով՝

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

Այսպիսով, գործողությունը կատարվում է O(1) ժամանակում, բայց սղագրության տարրերի կարգը խախտվում է։