Skip to content
/ career Public

Решение алгоритмических задач

License

Notifications You must be signed in to change notification settings

basp1/career

Repository files navigation

arrays.py

  • isunique Определить, есть ли в строке повторяющиеся символы

  • ispermutable Является ли первая строка перестановкой символов второй строки

  • ispalindromable Является ли строка палиндромом после перестановки

  • ismodifiable Находятся ли две строки на расстоянии одной или нуля модификаций. Допустимы три вида модификаций: вставка символа, удаление символа и замена символа

  • replacespace Заменить все пробелы в строке символами '%20'. Длина строки позволяет сохранить дополнительные символы. Фактическая длина строки известна заранее

  • rotate90 Поворот матрицы NxN на 90 градусов

  • compress Сжимать строку с использова­нием счетчика повторяющихся символов. Например, строка 'aabcccccaaa' пре­вращается в 'a2b1c5a3'. Eсли сжатая строка не становится короче исходной, то возвращать исходную строку. Предполагается, что строка состоит только из букв верхнего и нижнего регистра (a-z)

bitset.py

  • Bitset Битовое множество для произвольного числа битов. Реализовать методы get и set по номеру бита

graphs.py

  • DirectedGraph.isConnected Проверить существование маршрута между двумя узлами направленного графа

  • DirectedGraph.allPaths Поиск всех путей между двумя вершинами на направленном циклическом графе

  • PrefixTree.next Поиск всех путей на префиксном дереве

heap.py

  • Heap Двоичная куча с задаваемой пользователем функцией сравнения

linked.py

  • Linked Односвязный список. Метод добавления элемента в начало списка. Метод обращения списка без использования дополнительной памяти

lists.py

  • getrevitem Найти в односвязном списке k-ый с конца элемент

  • removedup Удалить дубликаты из несортированного связного списка (без использования дополнительной памяти)

  • removedup2 Удалить дубликаты из несортированного связного списка

  • removenode Удалить элемент из середины связного списка. Доступ предоставляется только к этому узлу

  • ispalindrome Является ли связный список палиндромом

  • sumlists Суммировать два числа, представленных в виде связных списков. Каждый узел такого списка пред­ставляет один разряд, все цифры хранятся в обратном порядке. Результат возвращать также в виде связного списка

  • findcycle Найти для кольцевого связного списка начальный узел петли

problems.cc

  • getmax Найти максимальное из двух чисел без использования if/else и любых операций сравнения

queues.py

  • MinStack Стек, в котором кроме push и рор будет поддерживаться функция min, возвращающая минимальный элемент. Все методы push, рор и min должны выполняться за время O(1)

  • SortedStack Стек, в котором элементы хранятся и извлекаются в отсортированном порядке. Разрешается использовать другой стек для временного хранилища данных

  • Queue2 Очередь с использованием двух стеков

stringbuf.py

  • Stringbuf Автоматически растущий буфер символов

About

Решение алгоритмических задач

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published