ABCGame Java
1330 UAHABCGame
Итак, есть база данных на SQLITE с 10 миллионами записями (максимальный размер < Integer.MAX_VALUE). Структура база данных как указано ниже:
CREATE TABLE IF NOT EXISTS `ABC` (`ID` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
`PARENTID` INTEGER NULL, `LETTER` CHAR(1) NOT NULL)
Тут PARENTID равно NULL, а в LETTER записаны случайные char’ы от a до z.
Первая задача. Убрать дубликаты повторяющиеся после каждого символа. Пример, adfggkl -> adfgkl. (function removeDuplicates)
Вторая задача. Убрать миддлы (middle). Пример, abc -> ac, cba -> ca, afj -> aj, jfa -> ja (if a < b && b < c or if c > b && b > a remove b). (function removeMiddle)
Третья задача. Убрать повторяющиеся символы через один (джампер, jumper). Пример, ghjokou -> ghjoku. (function removeJumper)
Четвертая задача. Убрать тени (shadow) по условием if (a < b && b > c && c > a && d <= b && d >= c) или (a > b && b < c && c < a && d >= b && d <= c). (removeShadows)
Из базу банных можно работать только с 100 000 записями в ArrayList или HashMap (как вам угодно), то есть из 10 миллионов записей вы берете 100 тысяч записей, обрабатываете (удаляете лишние записи согласно 4мя условиями указанными выше) их потом записываете в новую базу данных, и в новой базе данных укажите PARENTID. Именно тут и понадобится PARENTID. После этого вы можете забрать еще 100 тысяч записей.
Примечание. В примерах указаны любые случайные переменные.
Заметки. Первое условие не доставляет неудобств, он прост. Второе тоже, но после removeJumper может появляться дубликаты и миддлы (middle), после removeShadows такая же ситуация. После добавления следующей партии может появляться опять лишние символы при соединения двух кусков. В базе не должно быть не единого лишнего символа.
Додатки 2
Відгук замовника про співпрацю з Дмитриєм Берёзою
ABCGame Javaдоволен результатом работы.
![]()
Відгук фрилансера про співпрацю з замовником
ABCGame JavaОтличное тз, требования соответствующие заданию, рекомендую к сотрудничеству
Актуальні фриланс-проєкти в категорії Java
Розробка Android-додатку плеєра для сервісу онлайн-ТБ
27 000 UAH
Потрібен Android-розробник для створення нативного Android-додатку для сервісу онлайн-ТБ. Планується дві версії: для мобільних пристроїв: смартфони та планшети; для Android TV / Android STB: телеприставки. Орієнтовні терміни: до 3 місяців. Орієнтовний бюджет: 150 000 грн.… Java, Розробка під Android ∙ 24 дні 10 годин тому ∙ 31 ставка |