Size: a a a

StartAndroid Ru Chat

2020 May 04

VL

Vladyslav Lozytskyi in StartAndroid Ru Chat
Almaz Kh
А как реализовать по кускам сравнение в хэш функции . Вообще мне по итогам нужно количество уникальных значений в файле)
а где оригинал задачи посмотреть?
источник

AK

Almaz Kh in StartAndroid Ru Chat
Дан простой текстовый файл с IPv4 адресами. Одна строка – один адрес, примерно так:

145.67.23.4
8.34.5.23
89.54.3.124
89.54.3.124
3.45.71.5
...

Файл в размере не ограничен и может занимать десятки и сотни гигабайт.

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

AK

Almaz Kh in StartAndroid Ru Chat
Для проверки использовать файл . Архив 20 гигов, там лежит текстовый файл с I адресами.
источник

VL

Vladyslav Lozytskyi in StartAndroid Ru Chat
а не проблематично ли кинуть этот файл? хочу вечерком после работы поиграться, интересно же)
источник

AK

Almaz Kh in StartAndroid Ru Chat
Сюда врятли я его загрузить смогу, могу дать тебе торрент, я его себе так на ноут перетянул, потому что у меня на ноутбуке только вай фай робит. Раздача работает
источник

AK

Almaz Kh in StartAndroid Ru Chat
скачивается за пол часа примерно)
источник

СП

Сергей П. in StartAndroid Ru Chat
Galadriel
Это неадекватное решение) Все гораздо проще.
Решение: идём по файлу, считываем по символу и считаем для строки полиномиальный хеш(так сможем захешировать имея только кусок), ну и кладём в хешсет. Ответ — размер сета.  И всё, тут писать минут 5-10
Я понимаю что на выходе надо иметь набор записей "уникальная строка"+число повторов.
А не 100500 хешей с числом повторов. Так что в один проход не выйдет
источник

СП

Сергей П. in StartAndroid Ru Chat
Ххххааа. Так там не произвольные строки, а адреса ip! Так бы и сказал. Они же все приводятся к типу int, четырехбайтовому.
Тогда должно быть прожще и можно в один проход вероятно
источник

G

Galadriel in StartAndroid Ru Chat
Сергей П.
Ххххааа. Так там не произвольные строки, а адреса ip! Так бы и сказал. Они же все приводятся к типу int, четырехбайтовому.
Тогда должно быть прожще и можно в один проход вероятно
Да, тоже подумал. Делаем массив битов из 2^32 элементов, и там 0 — нету, 1 — есть
источник

СП

Сергей П. in StartAndroid Ru Chat
Ну то есть сам адрес короче чем его хэш в разы). Хэшей вообще нинада - адрес сам себе хэш. Лишь бы хэшмапа в память влезла. Впрочем если она не влезет - то придется через файлы.
источник

G

Galadriel in StartAndroid Ru Chat
Сергей П.
Ну то есть сам адрес короче чем его хэш в разы). Хэшей вообще нинада - адрес сам себе хэш. Лишь бы хэшмапа в память влезла. Впрочем если она не влезет - то придется через файлы.
Да необязательно файлы, это сверхдолго. Можно просто с битами орудовать
источник

СП

Сергей П. in StartAndroid Ru Chat
Нам не "есть/нет"надо, а сколько есть
источник

СП

Сергей П. in StartAndroid Ru Chat
Можно посчитать потребную память и O(n) для худшего случая - когда там все адреса (2^32) по одному разу.
источник

СП

Сергей П. in StartAndroid Ru Chat
И битовые операции как бы не медленне чем с int
источник

ES

Egor Sigolaev in StartAndroid Ru Chat
Привет. Кто знает лучший подход по подсчету значений полей в ресайкле? Ну допустим у меня есть у каждой ячейки поле для ввода числа. И по нажатию на кнопку я хочу посчитать сумму на всех ячейках. Или лучше ресайкл не юзать в таком случае? А сразу инфлейтить все вьюхи?
источник

ДГ

Дима Галдин... in StartAndroid Ru Chat
Что за ошибка android resource linking failed
источник

АА

Аят Алиев in StartAndroid Ru Chat
Дима Галдин
Что за ошибка android resource linking failed
Гугл
источник

ДГ

Дима Галдин... in StartAndroid Ru Chat
Смотрел не могу разобраться ошибок кода нет а при создании файла вылетает
источник

F

Fervent in StartAndroid Ru Chat
Дима Галдин
Смотрел не могу разобраться ошибок кода нет а при создании файла вылетает
точно?
источник

F

Fervent in StartAndroid Ru Chat
Дима Галдин
Смотрел не могу разобраться ошибок кода нет а при создании файла вылетает
источник