Vasily
Типы оставил те же?
Ну типы те же. Выкинул всякие chunkbySize и фолды
Vasily
Плюс аллокаций поменьше
Romɑn
После переписывания - совсем другая
Да плюсую, В Связном активно думали о том как бы нам ускорить процесс распределения товаров, там была куча обходов и пересортировок, потом на сцену вышла фибоначива куча и это дало нереальный прирост
Romɑn
Но если тебе просто нужно равзернуть массив без контекста или особых требований, то используй Arra.reverse. Другое дело, если тебе не развернуть надо, а функцию написать которая бы это делала
Vasily
Ну вот написать функцию
Romɑn
Ну вот написать функцию
это была шутка с придиранием к словам = )
Romɑn
Да, знаю не лучшая
Romɑn
но я же менеджер
Vladislav
Обходить с конца или я чет не понимаю?
Aleksandr
Чтобы перевернуть массив?
Vasily
Есть массив, нужно получить перевернутый
Aleksandr
Да, тут вопрос сигнатур
Vasily
За минимальное время без перевыделения памяти по возможности
Aleksandr
Одно дело a[] -> a[] И другое a[] -> a seq
Aleksandr
Это если in-place вообще уместен. Быть может нужна чистая функция
Vasily
Romɑn
Для упрощения
я начал думать что там можно с байтами байтомагию делать
Vasily
На байтомагию другая задачка
Romɑn
Бинго
вот видишь как важна правильно поставленая задача!
Romɑn
а ты "менеджер, менеджер" = )
Aleksandr
У нас в компании на собесах джунам дают другую. Вот уж там их заносит.. Дана строка. Написать функцию, которая определяет является ли какая-то из ее перестановок палиндромом
Aleksandr
string -> bool
Vasily
Палиндром - это у нас справа налево этц одинаково читается?
Aleksandr
Да
Romɑn
Палиндром - это у нас справа налево этц одинаково читается?
так почти то же самое что и с первернуть массив байт
Romɑn
решение
Vasily
Насколько я помню, там сортировка
Vasily
С подсчетом символов
Vasily
Ну мы должны получить количество каждого символа в строке
Romɑn
нет
Romɑn
а роза упала на лапу азора
Диёр
нет
там не определить является ли строка палиндромом
Vasily
Рома читал невнимательно
Диёр
а определить является ли какой-либо из вариантов строки палиндромом
Romɑn
спасибо
Vasily
Даже можно не сортировать
Vasily
В теории
Vasily
Если память дополнительная есть
Vasily
А за один проход хуйнуть
Диёр
ещё можно стек как со скобочками
Aleksandr
Это уже следующий виток обсуждения. У нас также ценится, если собеседуемый просто сдекларирует, что он собирается искать
Vasily
Ну можно и стек, но это тоже память
Vasily
Байтоебская задачка из той же серии
Aleksandr
Не каждый додумывается
Vasily
В массиве байт все числа встречаются четное число раз, кроме одного. Нужно найти это число
Анна
ещё можно стек как со скобочками
стек не сработает, порядок символов же не важен
Vasily
Другого не держим
Vasily
fold xor 0
Убил интригу
Aleksandr
В первый раз ее вижу, если честно
Aleksandr
Спасибо, запишу куда-нибудь
Aleksandr
У символа два состояния - пара есть/нету
Vasily
HashSet может быть
Проще словарь
Анна
У символа два состояния - пара есть/нету
да, достаточно будет массива на количество возможных символов
Aleksandr
А то у нас чар 2ухбайтовый
Анна
Благодаря такой экономии может сгенерированный код раздуваться и тормозить 🤷‍♀️
Aleksandr
Слишком много хранить придется
Диёр
а ещё можно в реляционную базу засунуть и скльником выдернуть ответ
Анна
*однажды доводилось выпиливать из кода битовые поля на один бит, потому что кто-то думал сэкономить и огрёб
Aleksandr
Разраб забыл использовать кастомный StructLayout
Анна
Ну то что меньше байта просто так не адресуется в любом случае же, будут сдвиги и битовые операции
Vasily
Когда я работал в НИИ, у тетушек, пишущих код для бортовой аппаратуры, были свои представления о том, что такое битовое поле. И они принципиально не понимали, почему нельзя заменять 4 на 5 в коде, например
Aleksandr
А вообще вот оно
Чарки тоже ксорятся)
Aleksandr
Хотя не
Aleksandr
Меня не туда занесло
Aleksandr
Это не решение задачи с палиндромом