1

Step 1

30

2

Step 2

40

3

Step 3

50

1

Step 1

30

2

Step 2

40

3

Step 3

50

31 October 2024 28 February 2025
Goal completed 28 December 2024

Goal author

Александр

Russia, Москва

36 years old

General

Решить суммарно 50 задач на leetcode

...

  1. 30

  2. 40

  3. 50

    1. Изучить карточку на leetcode "Arrays 101"

    2. Изучить карточку на leetcode "LinkedList"

  • 635
  • 31 October 2024, 19:42

Conclusion

59day
Александр28 Dec 2024, 18:52

50 из 50
Прорешал задачу Odd Even Linked List. Временная сложность O(n), пространственная сложность O(1).

Интерес к решению алгоритмических задач сохранился. Уверенности стало больше, не знаю как будет при прохождении собеседовании. Хватил ли этого количества, чтобы пройти, например, в яндекс? Наверное нет.

Мне попадались компании, где дают задачу на собеседовании, но в целом это не алгоритмическая секция, а техническая. Может быть там и получится решить задачу, и тут тоже надо еще вспомнить решение, или хотя бы паттерн.

По ощущениям, надо продолжать решать дальше.

Nikita Nikler12/28/2024

Поздравляю! Это очень большой и четкий шаг вперед! Я думаю ,что у тебя теперь намного больше шансов пройти алгоритмическую секцию ,чем раньше - это точно.

Goal diary

58day
Александр27 Dec 2024, 18:09

Прорешал повторно задачу Remove Linked List Elements. Решить получилось самостоятельно.
Временная сложность алгоритма O(n), пространственная сложность O(1).

57day
Александр26 Dec 2024, 21:25

49 из 50

Прорешал задачу Reverse Linked List. Задача на разворот Linked List сломала мне мозг окончательно. Не встречал подобных задач ранее. Долго не мог понять как происходит этот самый разворот. Вообщем попробовал через дебаг в idea, чтобы посмотреть, что происходит с объектами, не зашло. Частичное понимание пришло, когда добавил на каждом шагу вывод данных в консоль; чтобы видеть изменения. Для меня сложность заключалась в том, что LinkedList он вроде и объект; как будто бы единичный экземпляр, но по факту имеет вложенную структуру. И фиксировать изменения этой вложенной структуры было довольно таки сложно и напряжно в уме. Когда я увидел, как меняются данные, я уловил суть этого алгоритма и стало полегче. Задача по итогу написанного кода кажется несложной, но по факту для меня очень сложная.

Временная сложность O(n), пространственная сложность O(1).

55day
Александр24 Dec 2024, 18:54

48 из 50
Прорешал задачу Remove Nth Node From End of List. Задача уровня медиум. Походу для карточки "Linked list" - это норма. Я понял само задание, где-то через час. Первоначальное решение базировалось на мысли "Я понял, что надо делать. Сейчас я это сделаю". А когда начались петляния кода из одного условия в другое, я начал осознавать, что тут, что-то не так. Слишком сложное решение получается. Да и ненадежное. Код получился кривой, один кейс прошел, а вот остальные провалились.

Полез в solution и стал смотреть решение, как за один проход по linked list написать корректный алгоритм. И тут до меня дошло, что задание было немного в другом. Изучая готовое решение, я никак не мог понять, как вообще можно было додуматься до этого решения. Путем перебора решений, кто-то подсказал, или может быть алгоритмическое мышление - это какая-то магия. Я смотрю на решение и у меня в голове начинают появляться указатели, ноды, и все это само по себе перемещается, а я просто беру этот визуал и выписываю на бумагу, посредством кода. Как это вообще работает, ума не приложу.

Временная сложность алгоритма O(n), пространственная сложность O(1).

54day
Александр23 Dec 2024, 11:29

47 из 50
Прорешал задачу Intersection of Two Linked Lists. Удалось придумать решение самостоятельно с использованием структуры данных HashSet. Временная сложность получилась O(n), пространственная сложность O(n).

Второй способ решения разобрал в solution. При таком способе решения пространственная сложность становится O(1). Т.е дополнительных структур данных создавать не нужно.

52day
Александр21 Dec 2024, 19:20

46 из 50

Прорешал задачу Linked List Cycle II. Похожа на предыдущую, за исключение того, что нужно вернуть головную ноду c которой начинается зацикленность. Тут то и начались проблемы, как эту ноду получить. В одном случае вроде как можно сделать return node.next, а в другом return node. По итогу такой подход оказался неверен. Нашел статью в гугле, где с помощью картинки и математических формул (вроде как простых) описывается подход к решению, стало понятно кодовое решение. После этого удалось задачу решить, при этом немного уловить суть подхода. Вторая задачу уровня медиум. Написание алгоритма к задаче сильно усложнилось).

Временная сложность O(n), пространственная сложность O(1);

ссылка на статью: https://site.ada.edu.az/~medv/acm/Leetcode/142-Lin...

51day
Александр20 Dec 2024, 10:30

Прорешал повторно задачу Linked List Cycle. Потупил около часа, понял что ничего придумать не получается. Нужно было использовать паттерн быстрый и медленный указатель. Моя проблема была в том, что в цикле while я проверял на null только следующую ноду, в быстром указателе а надо было текущию и следующую ноду в быстром указателе.

Временная сложность O(n), пространственная сложность O(1). Ощущение, что начал учить Java с нуля. Просто ничего не понятно).

50day
Александр19 Dec 2024, 13:38

45 из 50
Прорешал задачу Design Linked List. Нужно было реализовать самописный односвязный список (его методы). Удалось реализовать методы и покрыть базовые кейсы на leetcode. К сожалению остальные кейсы покрыть не удалось. Стал разбирать решения. Доработал методы. Пытался представить, как происходит итерация по связному списку. Задача оказалась довольно объемной.

Закончил блок Singly Linked List из карточки "LinkedList"

48day
Александр17 Dec 2024, 08:57

Прорешал повторно задачу Squares of a Sorted Array. Получилось быстро написать алгоритм.
Временная сложность O(n), пространственная сложность O(n) . Закончил карточку "Arrays 101". Осталась одна задача, которая по подписке. У меня пока подписки нет. Перешел на карточку с задачами по linkedList.

47day
Александр16 Dec 2024, 10:06

44 из 50
Прорешал задачу Find All Numbers Disappeared in an Array. Разобрал два подхода к решению задачи.

Первый подход: временная сложность: O(n), пространственная сложность O(1).

Второй подход: временная сложность: O(n), пространственная сложность O(n).

You can publish
your goal here

We can help you achieve it!

310 000

like-minded

tools

for an exciting achievement

Join us!
Sign up

Signup

Уже зарегистрированы?
Quick sign-up through social networks.
Sign in

Sign in.
Allowed.

Not registered yet?
 
Log in through social networks
Forgot your password?
Nikita Nikler
Вадим
Chedi
Herbione
Maxim
Александр
Николай
Nikita Nikler
Николай
Chedi
Nikita Nikler
Николай
Chedi
Nikita Nikler
Кошка
Николай
Chedi
Nikita Nikler
Николай
Olga
Chedi
Nikita Nikler
Николай
Chedi
Nikita Nikler
Николай
Chedi
Nikita Nikler
Николай
Nikita Nikler
Николай
Chedi
Nikita Nikler
Николай
Chedi