Size: a a a

Clojure — русскоговорящее сообщество

2019 December 11

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
Andrey Ivanov
Кто реализует самую оптимальную версию функции
reverse-diap [vec from to]

которая принимает вектор и 2 индекса и возвращает вектор с реверснутым диапазоном между этими индексами (оба включительно), тот молодец ) Хоть через джава-интероп
можно попробовать тупо массивчик создать и в нем aset поделать
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
ага, щас после чисто кложных вариантов как раз джавские ковыряю
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
Andrey Ivanov
Кто реализует самую оптимальную версию функции
reverse-diap [vec from to]

которая принимает вектор и 2 индекса и возвращает вектор с реверснутым диапазоном между этими индексами (оба включительно), тот молодец ) Хоть через джава-интероп
что значит "оптимальную". ты в условие задачи завернул создание нового вектора, что тут можно оптимизировать?
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
время, только и всего
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
доступ к элементам в векторе условно константный
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
я в курсе
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
лог 64 что-ли
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
берешь и создаешь вектор читая с to до from, оптимизировать что? )
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
время (С)
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
еще вроде conj! бывает, но не знаю насколько там соптимизированно добавление
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
Andrey Ivanov
лог 64 что-ли
32
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
Andrey Ivanov
время (С)
еще раз, ты в условие задачи поставил, что нужно получить новый вот прям вектор кложовский. кроме как тупо построить новый этого не достичь. что именно тут оптимизировать?
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
вот скажем тебе точно нужно прям "возвращать вектор"?
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
спросив третий раз будет тот же ответ - это чистая функция )
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
Andrew Rudenko
еще раз, ты в условие задачи поставил, что нужно получить новый вот прям вектор кложовский. кроме как тупо построить новый этого не достичь. что именно тут оптимизировать?
я так понимаю речь о том, что какой-нибудь persist! может это делать немного побыстрее
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
ну так это очевидный пять строк кода
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
Andrew Rudenko
вот скажем тебе точно нужно прям "возвращать вектор"?
а может все же некий view подойдет?
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
и тогда вместо конструкции нового вектора можно обеспечить доступ к данным обернутого
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
я знаю, что могу лукапить через пересчет индексов без создания структуры данных в памяти
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
Andrey Ivanov
я знаю, что могу лукапить через пересчет индексов без создания структуры данных в памяти
по условиям твоей задачи не можешь
источник