В далеком 2020 году у меня возник вопрос «А почему Java на втором месте?» У Cplusplus 6 очков(2 победы: 3+3) и Java имеет 6 очков(1 победа и 3 ничьих: 3+1+1+1). Справедливости ради Cplusplus и Java должны делить первое место! Ну и следовательно подсчет следующих мест становится не верным.
Ссылка на реализацию -> github.com/agorinenko/yandex_cup2020/blob/master/test_03.py
А мне больше нравится слушать курсы на своем родном языке. И так нагрузка на мозг, да ещё переводить приходится. Немного расстроился, ноэто ничего, запишусь :)
Мне всегда казалось, что основным отличием массива(ArrayList) от связанного списка(LinkedList) является алгоритм расположения элементов в памяти. Так для массива элементы идут последовательно, для связанных списков элементы могут размещаться где угодно в памяти. Эти особенности и определяют сценарии использования. Так для чтения элементов по индексу лучше подойдет массив, если в коллекции преобладают операции вставки — связанный список. Стоимость алгоритмов следующая: чтение — массив О(1) против список O(n); вставка — массив О(n) против список O(1); Так что LinkedList бывает полезен не так уж редко.
Ссылка на реализацию -> github.com/agorinenko/yandex_cup2020/blob/master/test_03.py