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