3D-принтеры — что это такое и где можно попробовать

Трехмерная печать за последнее время из почти фантастики превратилась в достаточно обыденную вещь. С развитием технологии и ростом разрешения 3D-принтеры находят более широкое применение в различных сферах: от биопротезирования до печати…

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

Эту задачу можно решить двумя способами. Выбор определяется компромиссом между эффективностью использования времени, памяти или сложностью кода. Простое решение Очень простое и эффективное (по времени) решение — создание хэш-таблицы, отображающей…

Обложка поста

Алгоритм, реализующий следующее условие: если элемент матрицы в точке NxM равен 0, то весь столбец и вся строка обнуляются.

На первый взгляд задача очень проста – просто пройтись по матрице и для каждого нулевого элемента обнулить соответствующие строку и столбец. Но у такого решения есть один большой недостаток: на…

Уменьшаем размер исполняемого файла Nim со 160 КБ до 150 Б

Кажется, размер бинарных файлов в языке Nim недавно стал популярной темой для обсуждения. Слоган языка Nim: «Выразительно, эффективно, элегантно», и сейчас мы опробуем его эффективность, разобрав несколько вариантов уменьшения размера обычного…

Золотая пирамида — задача про треугольник, составленный из чисел

В этом выпуске рассмотрим классическую задачу, известную под названием «Золотая гора». На CheckiO её реализовали в этой задаче. Представьте себе треугольник, составленный из чисел. Одно число расположено в вершине. Ниже размещено два…

Обложка поста

Бесконечная лента

Создатели проекта бесконечной ленты поделились с нами некоторыми фактами из разработки.  Передаём им слово. Основная информация о разработке Основным элементом интернет-проекта является лента, состоящая из «пикселей», которыми являются фотографии участников. Когда…

Сайты, которые помогут вам улучшить навыки программирования

Программирование во многом связано с вашей способностью придумывать новые и интересные идеи; но иногда, из-за большого количества времени, потраченного на решение общих проблем, мы забываем о креативности. Для того, чтобы помочь…

Обложка поста
Обложка поста

«Разработка ядра Linux — это общение в клубе по интересам»

Архитектор департамента серверной виртуализации Parallels Павел Емельянов дал интервью журналу «Системный администратор». Мы решили разместить у нас часть ответов, наиболее интересную сообществу «Типичного программиста». Немного о проекте CRIU, о том, как разработчики работают…

Алгоритм, реализующий стек со стандартными функциями push и pop и дополнительной функцией min за O(1)

Итак, оценка времени работы функция push, pop и min – O(1). Экстремумы изменяются не часто. Фактически минимум может поменяться только при добавлении нового элемента. Одно из решений – сравнивать добавляемые элементы…

Обложка поста

Какой проект написать для проверки и закрепления теоретических знаний?

В этом выпуске мы передаём экспертам вопрос о том, какой проект лучше запрограммировать для того, чтобы проверить свои теоретические знания после прочтения книг. Многие новички выбирают себе какой-нибудь язык по…

Обложка поста