Это O (n ^ 2), но я думаю, что людям не хватает удаляемой части этого вопроса.
The first loop you have n widgets.
The second loop you have n-1 widgets.
...
The n-1 loop you have 2 widgets.
The n loop you have 1 widgets.
Вы можете подумать, что вы понижаете Big-O, но все, что делает удаление, умножает коэффициент на 1 / 2.
Это потому, что n + (n-1) + ... + 2 + 1 = n (n + 1) / 2. Когда N уходит в бесконечность, оно превращается в n ^ 2/2, что является просто O (n ^ 2)