Дилемма — отвечай на интересные вопросы и вырабатывай свою точку зрения

В современном обществе существуют такие актуальные проблемы, как: боязнь искренности — люди боятся говорить правду и быть за это осмеянными или осужденными; люди затрудняются в принятии решений, либо этого делать совершенно не умеют;…

Рабочие места редакции Типичного программиста

В воскресенье, 13 сентября, в Москве в тайм-кафе :glhf состоится встреча по поводу праздника — Дня программиста. Приезжайте к нам, будет небольшая лекция с историей создания сообщества, возможность задать свои вопросы основателям…

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

Интервью с Нариманом Намазовым, владельцем 2ch.hk

Пятого сентября по российскому интернету прокатилась волна DDoS-атак. Она затронула множество крупных ресурсов: 2ch.hk, rutracker.org, несколько более мелких торрент-трекеров и «Роскомсвободу». После того, как TJournal опубликовал расследование, DDoS-ить начали и…

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

Алгоритмы и структуры данных для начинающих: множества

Множество — это коллекция, которая реализует основные математические операции над множествами: пересечения (intersection), объединение (union), разность (difference) и симметрическая разность (symmetric difference). Каждый из алгоритмов мы разберем в соответствующем разделе.

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

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

Первое, что приходит в голову, — выбрать случайные элементы из массива и поместить их в новый массив. Но что если мы выберем один и тот же элемент дважды? В идеале…

Алгоритмы и структуры данных для начинающих: двоичное дерево поиска

До сих пор мы рассматривали структуры данных, данные в которых располагаются линейно. В связном списке — от первого узла к единственному последнему. В динамическом массиве — в виде непрерывного блока. В этой…

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

Почему программисты снова становятся инженерами — вице-президент Parallels рассказал об окончании «эры айтишников»

Некоторое время назад Look at me поделился дельными мыслями одного человека по поводу того, что широта знаний вновь становится важнее узкой специализации. Мы не могли пройти мимо и подготовили для вас…

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

Что делать, если правительство отключает Интернет?

Попытки бороться с нежелательной информацией в Интернете правительство РФ проявляет уже достаточно давно. Еще в 2007 году был опубликован «Федеральный список экстремистских материалов» — тогда провайдеры впервые начали повсеместно блокировать…

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

Если бы мы работали с массивом, то было бы много сложностей, связанных со смещением элементов. Со связным списком задача намного проще. Вместо того чтобы смещать и менять местами элементы, мы…

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

Файл, который нужно включить в проект на Си или С++ перед увольнением

Пользователь Aras Pranckevičius поделился на github файлом preprocessor_fun.h, который рекомендуется включать в репозиторий проекта перед увольнением с работы. Некоторые строчки несут в себе слишком много боли, слабонервным рекомендуем не смотреть.

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

Смоделируйте использование игральной кости с семью гранями, если в вашем распоряжении имеется только кость с пятью гранями

Как вы можете получить случайное число в диапазоне от 1 до 7, используя игральную кость с пятью гранями? Иначе говоря, в вашем распоряжении устройство, которое генерирует случайное целое число от 1…

Алгоритмы и структуры данных для начинающих: динамический массив

Иногда от коллекции требуется неограниченная вместимость и простота использования списка, но при этом константное время доступа к произвольному элементу, как в массиве. В этом случае используется список на основе массива…

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

Песочница проектов. ВКМетр — расширенная статистика сообществ ВКонтакте

Что такое ВКМетр? VKMeter.ru — сервис, предоставляющий расширенную реал-тайм статистику по вашим пабликам. Он дает дополнительные возможности для её анализа и улучшения, уже есть кейс по реальному увеличению охвата сообщества…

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

В MIT разработали алгоритм, фильтрующий препятствия на фотографиях

Ученые Массачусетского технологического университета на днях изобрели алгоритм, способный убирать препятствия (вроде заборов и окон) с фотографий. На вход он принимает некоторое количество фотографий, снятых с небольшим смещением относительно друг…

Напишите код, который позволяет найти минимальное расстояние (выражаемое количеством слов) между любыми двумя словами в файле

Вам дан большой текстовый файл, в котором содержатся слова. Необходимо написать код, который позволит найти минимальное расстояние между любыми двумя словами. Достаточно ли будет O(n) времени? Сколько памяти понадобится для…

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

У вас есть неограниченное количество монет достоинством 25, 10, 5 и 1 цент. Напишите код, определяющий количество способов представления n центов

Это рекурсивная задача, поэтому давайте разберемся, как рассчитать makeChange(n), основываясь на предыдущих решениях (подзадачах). Пусть n = 100. Мы хотим вычислить количество способов представления 100 центов. Нам известно, что для…

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

Быстрый старт в Perl

Perl — высокоуровневый интерпретируемый динамический язык программирования общего назначения, созданный Ларри Уоллом, лингвистом по образованию[Wikipedia]. Появился в 1987 году. Этот язык программирования богат возможностями по работе с текстом, что определяет…

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

Одержимость разработчиков кодовыми именами, больше сотни интересных примеров

Кодовые имена используются довольно давно. Помните Манхэттенский проект в 1940–ых годах, который оказался разработкой атомной бомбы? К счастью, не под всеми кодовыми именами скрываются такие ужасные вещи. Конечно, кодовые имена…

Опишите, как можно использовать один одномерный массив для реализации трех стеков

Подобно многим задачам, все зависит от того, как мы собираемся поддерживать эти стеки. Если нам нужно выделить определенное пространство для каждого стека, можно так и поступить. Но в этом случае…