Описание тега programming-pearls

Programming pearls are unique problems or solutions that might puzzle a programmer, they have grown from real problems that have irritated real programmers, just as natural pearls grow from grains of sand that irritate oysters.
10 ответов

Как найти подмассив с ближайшей к нулю суммой или определенным значением t в O(nlogn)

На самом деле это проблема № 10 главы 8 Programming Pearls 2nd edition. Он задал два вопроса: учитывая массив A[] целых чисел (положительных и неположительных), как найти непрерывный подмассив A[], сумма которого ближе всего к 0? Или ближе всего к о…
05 май '13 в 20:39
1 ответ

Программирование Жемчуг: Столбец 9.3 Бинарный поиск - диапазон инициализации

В разделе 9.3 Job Bentley представляет модифицированный бинарный поиск. краткое описание типичной реализации и лучшего подхода, показанного в 9.3 if (arr[mid] < key) low = mid+1 else if (arr[mid] > key) high = mid-1 else return mid; модифициро…
20 июн '15 в 11:34
5 ответов

Программирование Жемчуг: найти одно целое число, по крайней мере, дважды

Это в разделе 2.6 и проблеме 2, исходная проблема выглядит так: "Учитывая последовательный файл, содержащий 4 300 000 000 32-разрядных целых чисел, как найти тот, который появляется по крайней мере дважды?" Мой вопрос к этому упражнению таков: в чем…
02 апр '11 в 06:56
2 ответа

Программирование Pearls: поиск недостающего целого числа в файле из 4 миллиардов целых чисел

Вопрос: вход находится в последовательном файле. Файл содержит не более 4 миллиардов целых чисел. Найдите пропущенное целое число. Решение согласно моему пониманию: сделать два временных файла, один с первым 0, а другой с первым 1 один из двух ДОЛЖЕ…
16 окт '13 в 08:21
1 ответ

Пример bsort из программирования жемчуг

В Программировании Жемчуга есть алгоритм, который сортирует массивы различной длины, но сортирует по времени, пропорциональному сумме их длины. Например, если у нас есть массив записей x[0...n-1]и каждая запись имеет целочисленную длину и указатель …
15 окт '11 в 05:25
4 ответа

Самая длинная неперекрывающаяся подстрока

Интересно, знает ли кто-нибудь (оптимальный?) Алгоритм для самой длинной повторяющейся непересекающейся подстроки. Например, в строке ABADZEDGBADEZ самый длинный повторяющийся будет "ПЛОХО". Кстати, если такого результата нет, алгоритм должен предуп…
24 авг '09 в 17:39
2 ответа

Постоянное время для инициализации с использованием большего количества жемчужин программирования - Столбец 1

Я читал "Программирование жемчужин", и я действительно запутался в одном из объяснений решения - проблема 9 в столбце 1. Вопрос заключался в следующем: при использовании растровых данных для представления набора целых чисел первая фаза инициализируе…
22 апр '12 в 03:42
3 ответа

Ожидание максимальной последовательной суммы подпоследовательности случайной последовательности

Вот проблема из Programming Pearls 2-е издание (глава 8.7): Рассматривая последовательность действительных чисел, элементы которой нарисованы равномерно из диапазона [-1, 1], какова ожидаемая максимальная сумма последовательной подпоследовательности…
29 июн '12 в 11:36
26 ответов

Самый быстрый алгоритм для сдвига окружности массива N размера для позиции М

Какой самый быстрый алгоритм для массива сдвига окружности для M позиций? Например, [3 4 5 2 3 1 4] сдвиг M = 2 позиции должен быть [1 4 3 4 5 2 3], Большое спасибо.
18 май '09 в 04:55
1 ответ

Перл: Как я могу получить сжатые данные, которые понимает zlib

Я пытаюсь создать ZIP-файл в Pearl, который можно использовать и удалять в приложении IPad с помощью zlib. Текущие zip-модули в Pearl (т.е. IO::Compress::Zip), кажется, выводят неверные данные для понимания zlib. Я использую z_stream strm на стороне…
04 фев '14 в 21:00
2 ответа

Почему в этом примере для сравнения строк используется заполнение нулями? "Программирование жемчуга": нити жемчуга

В разделе "Программирование жемчуга": "Струны жемчуга", раздел 15.3 ("Генерация текста"), автор представляет, как генерировать произвольный текст из входного документа. В исходном коде есть некоторые вещи, которые я не понимаю. for (i = 0; i < k;…
06 ноя '12 в 05:40
2 ответа

PHP: сравнение NULL и FALSE - приведено к отрицательной бесконечности

Недавно я наткнулся на ситуацию, которая в лучшем случае кажется ошибкой. И то и другое null а также false по-видимому, оценивается как меньшее, но не равное отрицательной бесконечности при использовании в сравнениях. Мой текущий контрольный пример:…
16 янв '13 в 12:50
1 ответ

Как я могу импортировать в текстовый файл Matlab с помощью сценария PERL?

Я пытаюсь импортировать огромный текстовый файл (~5 миллионов строк). Я пытаюсь с этим скриптом aaa = perl('importFile.pl',fileName); где importFile.pl use strict; use warnings; while (my $row = <>) { chomp $row; print "$row\n"; } но ничего не…
09 фев '18 в 12:55
1 ответ

Максимальный подмассив

В графе 8 "Программирование жемчужин". Существует максимальная проблема подмассива. Проблема: Входные данные представляют собой вектор x из n чисел с плавающей точкой; выход - максимальная сумма, найденная в любом смежном подвекторе ввода. Чтобы зав…
22 июн '12 в 17:27
2 ответа

Добавьте столбец с той же ключевой функцией в CSV-файл

Столбцы, включающие два ключевых признака, один столбец для суммирования и некоторые другие (например,1) столбец, который не важен. key1, key 2, pr, trivial abc, 43, 23, haha abc, 43, 456, hok bcd, 23, 89,kol Я хочу добавить столбец суммы с тем же к…
24 июл '13 в 16:38
1 ответ

Алгоритм подсчета минимальной суммы

Проблема, обнаруженная в столбце 8 программирования жемчужин, заключается в следующем: Учитывая реальный вектор x[n], вычислите максимальную сумму, найденную в любом смежном подвекторе. Окончательное решение имеет сложность O(n), а именно: std::vect…
07 фев '11 в 23:25
1 ответ

Мне нужно скопировать набор файлов из их исходного местоположения в новую папку

Я начинаю проект, который требует сборки файлов и связывания их примерно до 140 строк в содержании PDF (один файл на строку). Дело в том, что мне приходится делать это 80 раз, и, кажется, очень утомительно каждый раз делать это вручную. Содержание у…
01 авг '13 в 23:10
2 ответа

Использование битовой маски в программе ниже от Programming Pearls

Сегодня я начал читать "Программирование жемчуга" и, выполняя его упражнение, натолкнулся на вопрос "Как бы вы реализовали свой собственный битовый вектор?". Когда я посмотрел на решение, это было так: #define BITSPERWORD 32 #define SHIFT 5 #define …
28 авг '11 в 02:56
6 ответов

Найти недостающее 32-битное целое число среди несортированного массива, содержащего не более 4 миллиардов целых

Это проблема, описанная в Programming pearls, Я не могу понять метод двоичного поиска, описанный автором. Может кто-нибудь поможет уточнить? Благодарю. РЕДАКТИРОВАТЬ: я могу понять бинарный поиск в целом. Я просто не могу понять, как применить бинар…
29 окт '09 в 09:18
4 ответа

Эффективный способ найти самую длинную повторяющуюся строку для Python (From Programming Pearls)

Из раздела 15.2 "Программирование жемчужин" С кодами C можно ознакомиться здесь: http://www.cs.bell-labs.com/cm/cs/pearls/longdup.c Когда я реализую это в Python, используя суффикс-массив: example = open("iliad10.txt").read() def comlen(p, q): i = 0…