German Jet, без лицензии Delphi в виде правильного ресурса DVCLAL в exe-файле отваливается TDataSet, используемый в стандартных графических компонентах для отображения таблиц или тиражируемых ячеек. Но всё, что работает без TDataSet, и что в Delphi не из коробки, не подвержено этим ограничениям. Что касается кода, то с OR/M типа mORMot при работе с БД из кода-таки кода будет меньше получаться, но, правда, надо понимать, как OR/M работает. В базу данных всё равно нужно делать транзакции. Если транзакцию сделать не получилось, локальное OR/M-зеркало базы данных ломается. Вариант продвижения вперёд уже исключён. И назад вернуть значения из базы тоже в общем случае стройно не получится.
Не единственный, но наиболее прямой. Жаль, сейчас навыки интеропа утрачены. А так-то раньше было: модуль на тасме (Турбо Ассемблер), модуль на Паскале, модуль на Си. И писали привязки. Измельчал народ
Да. Пока нет экспорта в COM, не будет никаких обычно.
Чтоб из C# в JS одной строкой подключалось, таких чудес не видел. И вообще, это крайне редко, чтоб что-то могло взять и само вместе заработать. Никто этим не занимается, никому это не интересно, всем интересно сделать привязку к поставщику.
Александр, а, ну тогда всё ясно. Тогда проще всего задать непрерывную подпоследовательность краями, либо началом и длиной.
Могут встречаться — значит, они не заданы, а их можно, наоборот, найти. И, скорее всего, интерес представляют только подпоследовательности наибольшей длины.
Делается проход от начала до конца, и пока Y сохраняется, увеличивать длину, а как поменялся, так зарегистрировать подпоследовательность и сбросить длину. И после прохода по всей последовательности регистрируется подпоследовательность, которая была в конце.
А, может, то обстоятельство, что что-то встречается, дано просто для справки, то есть, используется косвенно.
Александр, В последовательности длины n можно разглядеть O(n²) непрерывных подпоследовательностей. Предложение выглядит так, будто обрывается на середине, а дальше должно было быть написано какое-нибудь интересное свойство этих подпоследовательностей.
Наиболее логичное предположение о том, что же это за свойство, — это то, что второй элемент пары равен первому элементу следующей за ним пары, и так по цепочке.
Трафарет, задающий подпоследовательность, можно задать как множество. Множество можно задать массивом логических значений: [true, false, true, true, false]
Или множеством индексов [2, 0, 3]
Если это множество упорядочить, получится массив индексов [0, 2, 3]
Первый элемент подпоследовательности имеет индекс 0, а в последовательности под этим индексом находится 10. Второй элемент подпоследовательности имеет индекс 2, и по этому индексу 30. Аналогично 40.