Вопросы с тегом «restricted-complexity»

Проблемы со спецификацией, которая требует, чтобы все ответы соответствовали определенным временным ограничениям сложности. Это может быть конкретным («Ваш ответ должен быть O (n ^ 2), где n - количество элементов на входе») или на уровне классов сложности («Ваш ответ должен быть полиномиальным по количеству элементов в вход ").

65
Программирование питания: O (1 ^ N), O (N ^ 1), O (2 ^ N), O (N ^ 2) все в одном

Напишите программу (или функцию), которая демонстрирует четыре общих больших сложности времени, в зависимости от того, как она выполняется. В любой форме оно принимает положительное целое число N, которое, как вы можете предположить, меньше 2 31 . Когда программа запускается в своем первоначальном...

45
Самая длинная общая подстрока в линейном времени

Эта задача о написании кода для решения следующей проблемы. Учитывая две строки A и B, ваш код должен вывести начальный и конечный индексы подстроки A со следующими свойствами. Подстрока A также должна соответствовать некоторой подстроке B. Больше не должно быть подстроки A, удовлетворяющей первому...

36
Основные ASCII бюллетени

Альтернативное название: Tally Your Тюремный приговор на стене Учитывая число n, выходные данные сгруппированы в традиционные 5 на группу и 50 на строку. Примеры 1 | | | | 4 |||| |||| |||| |||| 5 |||/ ||/| |/|| /||| 6 |||/ | ||/| | |/|| | /||| | 50 |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/...

33
Это код префикса?

В теории информации «префиксный код» - это словарь, в котором ни один из ключей не является префиксом другого. Другими словами, это означает, что ни одна из строк не начинается ни с одной другой. Например, {"9", "55"}это код префикса, но {"5", "9", "55"}это не так. Самым большим преимуществом этого...

29
Мираж умного человека

Когда-то я читал этот вопрос / ответ на Quora Есть ли действительно программисты со степенью информатики, которые не могут пройти тест FizzBuzz Этот код дан как очевидный ответ for i in range(1, 100): if i % 3 == 0 and i % 5 == 0: print "FizzBuzz" elif i % 3 == 0: print "Fizz" elif i % 5 == 0:...

24
Написать токенайзер инцидентов

Задний план Инцидент - довольно необычный язык программирования, в котором его список токенов не предопределен, а скорее выведен из входных данных. Таким образом, токенизация программы «Инцидент» может быть довольно сложной, особенно если вы хотите сделать это эффективно. Эта задача о том, чтобы...

24
Реализовать упрощенный кернинг

Введение Кернинг означает регулировку расстояния между буквами текста. В качестве примера рассмотрим слово, Topнаписанное следующими тремя глифами: ##### ..... ..... ..#.. ..... ..... ..#.. ..##. .###. ..#.. .#..# .#..# ..#.. .#..# .#..# ..#.. ..##. .###. ..... ..... .#... ..... ..... .#... Мы...

21
Сортировка книг

Когда вы складываете книги, вы обычно хотите, чтобы самые большие были внизу, а самые маленькие - вверху. Однако, мое скрытое ОКР заставляет меня чувствовать себя неловко, если у меня есть две книги, одна из которых короче (по высоте), но шире другой. Независимо от того, в каком порядке я их...

21
Корень перестановки

В математике перестановка σ порядка n является биективной функцией от целых чисел 1 ... n до самой себя. Этот список: 2 1 4 3 представляет перестановку σ такую, что σ (1) = 2, σ (2) = 1, σ (3) = 4 и σ (4) = 3. Квадратный корень перестановки σ - это перестановка, которая при применении к себе дает σ...

20
Один идет вверх, другой идет вниз

Вступление В этой задаче ваша задача состоит в том, чтобы решить, можно ли разделить данную последовательность чисел на две подпоследовательности, одна из которых увеличивается, а другая уменьшается. В качестве примера рассмотрим последовательность 8 3 5 5 4 12 3. Это может быть разбито на две...

19
Максимизировать разницу в квадрате

Рассмотрим перестановку целочисленных значений из 1в N. Например, этот пример для N = 4: [1, 3, 4, 2] Мы будем считать этот список циклическим, таким, что 1и 2рассматриваются как смежные. Одна величина, которую мы можем вычислить для такого списка - это общая квадратичная разница смежных значений:...

18
Дайте перестановку без двух последовательных целых чисел рядом друг с другом

Вызов Для целого числа n ≥ 4 выведите перестановку целых чисел [0, n-1] со свойством того, что никакие два последовательных целых числа (целые числа с абсолютной разностью 1) не стоят рядом друг с другом. Примеры 4 → [1, 3, 0, 2] 5 → [0, 2, 4, 1, 3] 6 → [0, 2, 4, 1, 3, 5] 7 → [0, 2, 4, 1, 5, 3, 6]...

17
Восходящая матрица

«Восходящая матрица» представляет собой бесконечную матрицу целых чисел (включая 0), в которой любой элемент является наименьшим доступным элементом, который ранее не использовался в соответствующей строке и столбце: | 1 2 3 4 5 6 ... --+---------------- 1 | 0 1 2 3 4 5 ... 2 | 1 0 3 2 5 4 ... 3 |...

15
Соответствие строки в реальном времени

задача Задача состоит в том, чтобы сыграть в гольф алгоритм точного сопоставления строк в реальном времени по вашему выбору. вход Две строки текста поступают на стандартный ввод, разделенные новой строкой. Первая строка содержит «шаблон» и будет просто строкой ASCII, нарисованной из букв a-z....

14
Найти максимум ах + б

Вам предоставляется список ( a, b ) и список x . Вычислить максимальный топор + б для каждого х . Можно предположить, что a , b и x являются неотрицательными целыми числами. Ваша программа или функция должны выполняться в ожидаемом (случайном порядке, если ваш код включает это, а не во вводе) O ( n...

13
Решить проблему секретаря

Секретарь Проблема известная проблема описана как таким образом: Вам нужен новый секретарь У вас есть N кандидатов, с которыми вы можете взять интервью по одному Вы можете оценить каждого кандидата после собеседования. Ваша система подсчета очков никогда не даст двум претендентам одинаковый балл...

13
Обобщенные коды Грея

Входные данные: массив I из k натуральных чисел. Целые числа будут не больше 100 и k ≤ 100 . Вывод: Ваш код должен вывести все возможные массивы O неотрицательных целых чисел длины k с ограничением 0 ≤ O i ≤ I i . Чтобы перейти от одного массива к другому, вы можете добавить или вычесть 1 к одному...

13
Выберите самую длинную палку

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

12
Положить массив в контейнеры

В этом простом задании вы получаете входной массив Lнеотрицательных целых чисел и количество бинов bбольше 0, но не больше длины L. Ваш код должен возвращать новый массив M, длина которого равна bи которая содержит массив L. Это проще всего объяснить на примерах. L = [1,0,5,1]и b = 2возвращается M...

12
Парные конденсаторы

Конденсаторы известны тем, что изготавливаются с высокими допусками. Это приемлемо во многих случаях, но иногда требуется емкость с жесткими допусками. Обычной стратегией для получения емкости с точным требуемым значением является параллельное использование двух тщательно измеренных конденсаторов,...