Size: a a a

2020 April 26

DP

Daniel Podolsky in Go-go!
Dmitriy 😎 Smotrov
Да, я реализация с ним не проходит тесты, я использовал чтение байт и подсчет чисел в дереве... ну или черную магию b2s и хешмапу, как писали выше
при чем тут дерево?
источник

DS

Dmitriy 😎 Smotrov in Go-go!
Daniel Podolsky
при чем тут дерево?
В дереве сохранил счетчики для каждого числа, представленного в байтах (в текстовом представлении)
источник

DS

Dmitriy 😎 Smotrov in Go-go!
При конвертациях из текста в числа или строки – терял время и не укладывался
источник

DP

Daniel Podolsky in Go-go!
у нас все пространство размером в 100? тут не надо ни дерева, ни мапы, тот массивом можно обойтись
источник

DS

Dmitriy 😎 Smotrov in Go-go!
Нет, строк может быть 1024, по 1024 * 10 чисел в каждой строке
источник

DS

Dmitriy 😎 Smotrov in Go-go!
Ну... можно и массив счетчиков, но дольше будет
источник

DP

Daniel Podolsky in Go-go!
но каждое число не превосходит 100, так?
источник

DS

Dmitriy 😎 Smotrov in Go-go!
Daniel Podolsky
но каждое число не превосходит 100, так?
Да
источник

DP

Daniel Podolsky in Go-go!
не будет дольше, с чего бы?
источник

DP

Daniel Podolsky in Go-go!
а исходные данные есть?
источник

DS

Dmitriy 😎 Smotrov in Go-go!
проходить линейно по массиву
источник

DP

Daniel Podolsky in Go-go!
на которых у вас больше секунды
источник

DS

Dmitriy 😎 Smotrov in Go-go!
Daniel Podolsky
а исходные данные есть?
Сейчас пришлю
источник

DS

Dmitriy 😎 Smotrov in Go-go!
источник

DP

Daniel Podolsky in Go-go!
Dmitriy 😎 Smotrov
проходить линейно по массиву
зачем проходить, у нас числа - готовые индексы
источник

DS

Dmitriy 😎 Smotrov in Go-go!
Daniel Podolsky
зачем проходить, у нас числа - готовые индексы
Нужно тогда сконвертировать из []byte байт текста в число
источник

DS

Dmitriy 😎 Smotrov in Go-go!
Это и происходит долго
источник

DS

Dmitriy 😎 Smotrov in Go-go!
Реализация на hasmap + черная магия b2c: https://play.golang.org/p/ovNGZLTJ95U
Реализация с деревом: https://play.golang.org/p/PB97Vt5utWZ
источник

DS

Dmitriy 😎 Smotrov in Go-go!
В реализацию на hasmap можно добавить функцию bufio.SplitFunc из реализации с деревом, которая не делает unicode.DecodeRune, это тоже ускоряет, где-то на 100 мс, примерно
источник

DP

Daniel Podolsky in Go-go!
Dmitriy 😎 Smotrov
Сейчас пришлю
вы ведь знаете, что ваш код на этих входных данных паникует?
источник