Алгоритмы: Как покорить задачи на leetcode 🧐



В этом посте я поделюсь техникой решения алгоритмов от Duke University. Вся информация взята из курса на coursera 🚀



1. Проработай пример вручную.

— "Возьми список значений и отсортируй их вручную. Сортируй так, как тебе удобнее всего и естественнее. Не исследуй алгоритмы сортировки и не пытайся найти самый эффективный метод — это не цель этого задания."



2. Запиши точно то что ты сделал.

— "Подумай внимательно о том, как ты выполнял сортировку вручную. Какие значения ты сравнивал? В каком порядке? Как ты понял, что сортировка завершена? Запиши эти шаги точно."



3. Сделай общие выводы.

— "Ищи закономерности в шагах, которые ты записал для Шага 2. Если ты повторял наборы шагов, как можно посчитать количество повторений? Если ты менял местами определённые значения при определённых условиях, что это были за условия? Есть ли переменные, которые нужно назвать для повторного использования? Запиши свой пошаговый обобщённый алгоритм."



4. Тестируй.

— "Выполняй свой алгоритм без кода, используя разные данные."



В общем и целом, действия будут выглядеть так 👇



1. Проработай пример вручную.



2. Запиши точно то что ты сделал.



3. Сделай общие выводы. Если не получилось, возвращайся на 1 шаг.



4. Тестируй. Если не получилось, возвращайся на 3 шаг.



5. Переводи в код.



6. Тестируй. Если результат неправильный, пройди на 7 шаг.



7. Дебаж программу. На этом этапе тебе стоит понять в чем проблема — в коде (вернись на шаг 5) или алгоритме (вернись на шаги 1 - 4).



Задача (простой уровень) 👇



Отсортируй список чисел от меньшего до большего, используя предоставленную технику выше 💻



const list = [-0.12, 0.53, 0.98, 1.36, 1.92, 3.18];




Пост навигатор 👩‍💻



nikitasepi0l ⬅️ <ЧАТИК/>