Size: a a a

Scala User Group

2020 December 13

E

Elijah in Scala User Group
Oleg ℕizhnik
в зио repeatWhileM
суть задач реализовать вот эти встроенные вещи своими руками
источник

E

Elijah in Scala User Group
в упрощённом виде
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Я тогда не понял, если суть задач - своими руками, зачем просить в скалагруппе помощь, это же чужие руки будут
источник

E

Elijah in Scala User Group
я просил, чтобы подтолкнули к решению, а не решили
источник

Oℕ

Oleg ℕizhnik in Scala User Group
ну тогда чанк возвращать бессмысленно, а патерн-матчинг по булеану можно упростить на
cond flatMap (b => zio *>  whileLoop(cond)(zio).when(b))
источник

Oℕ

Oleg ℕizhnik in Scala User Group
а лучше
zio *>  cond.flatMap(whileLoop(cond)(zio).when))
источник

Oℕ

Oleg ℕizhnik in Scala User Group
проблема в этом решении ещё в том, что исполнение условия происходит до первого исполнения zio, это контр интуитивно, т.к. код вроде работает как do (...) while (..), но условие выполняется сразу
источник

R

RAFIZ in Scala User Group
решаю алгозадачу, срочно нужно понять
не подскажете за какое время
Set.contains(...)
отрабатывает?в Scala
источник

Oℕ

Oleg ℕizhnik in Scala User Group
в любом случае в scala всегда
foo.flatMap(_ match {xxx}) можно заменить на foo.flatMap{xxx}
источник

Oℕ

Oleg ℕizhnik in Scala User Group
RAFIZ
решаю алгозадачу, срочно нужно понять
не подскажете за какое время
Set.contains(...)
отрабатывает?в Scala
за логарифм
источник

R

RAFIZ in Scala User Group
Oleg ℕizhnik
за логарифм
уверены?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
RAFIZ
решаю алгозадачу, срочно нужно понять
не подскажете за какое время
Set.contains(...)
отрабатывает?в Scala
s.contains(x) можно заменить на s(x)
источник

Oℕ

Oleg ℕizhnik in Scala User Group
RAFIZ
уверены?
да
источник

R

RAFIZ in Scala User Group
ладно, тогда другой вопрос
в какую структуру данных мне кэшировать элеиенты, чтобы в будущем проверять их наличие за О(1)?
источник

λ

λoλdog in Scala User Group
HashSet
источник

Oℕ

Oleg ℕizhnik in Scala User Group
RAFIZ
ладно, тогда другой вопрос
в какую структуру данных мне кэшировать элеиенты, чтобы в будущем проверять их наличие за О(1)?
mutable.Set
источник

R

RAFIZ in Scala User Group
Oleg ℕizhnik
s.contains(x) можно заменить на s(x)
а, точно, да
источник

Oℕ

Oleg ℕizhnik in Scala User Group
mutable.Set - это обычная хеш таблица, а не HAMT
источник

R

RAFIZ in Scala User Group
Oleg ℕizhnik
mutable.Set
??
а что там, мутабельность влияет на реализацию подкапотную что ли?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
ответил выше
источник