Описание тега foldleft
A common algorithm in functional languages that applies an operation to each member of a sequence, from left to right.
4
ответа
Как написать эффективный фильтр groupBy-size в Scala, можно примерно
Учитывая List[Int] в Скала, я хочу получить Set[Int] из всех Intс, которые появляются по крайней мере thresh раз. Я могу сделать это с помощью groupBy или же foldLeft, затем filter, Например: val thresh = 3 val myList = List(1,2,3,2,1,4,3,2,1) myLis…
12 авг '15 в 19:02
1
ответ
Scala Fold оставил нахождение предпоследнего элемента
Можете ли вы объяснить мне, почему первое определение неверно по сравнению со следующим? Зачем писать ((r._2,c))._1 принесет мне предпоследний элемент? Пожалуйста, дайте мне проследить, как элементы вставляются в (r,c) или их значение. Вот код: scal…
13 янв '16 в 02:39
1
ответ
Написать обратное в Scala, используя Foldleft
Вот реализация: def reverse[A](l: List[A]): List[A] = foldLeft(l, List[A]())((acc,h) => Cons(h,acc)) Я не понимаю, что понимает компилятор с (acc,h); Первоначально, функция f соответствует (ListA,l), которые являются 2 списками, так работает ли C…
26 ноя '14 в 15:20
2
ответа
Вяз: Как войти в фолдл
У меня есть следующий код: findPerson name peeps = List.foldl (\a b -> case b of Just _ -> b Nothing -> if a.name == name then Just a else Nothing ) Nothing peeps Я хотел бы записать значения a а также b внутри foldl, Я пробовал: findPerson…
10 апр '17 в 09:42
1
ответ
Список в scala не обновляется
Я новичок в Scala Collections, и в настоящее время я хочу разделить данный список строк в кортеж из двух списков (List[String], List[String]), который содержит список строк палиндрома и остальную часть входных строк. Например, если ввод List("raceca…
29 июн '17 в 05:09
3
ответа
Выражение типа B => List[B] не соответствует ожидаемому типу List[Int] при обращении списка в Scala
Работаем над функцией, которая переворачивает список в Scala с помощью функции foldLeft: def reverseWithFold(ls: List[Int]): List[Int] = ls.foldLeft(List[Int]())((c, _) => _:::c) он получил ошибки компиляции: Expression of type List[B_] => Lis…
16 янв '19 в 07:50
1
ответ
Композиция функций Haskell с использованием foldl
Я определил следующую функцию в haskell: step :: [Int] -> [Char] -> [Int] step stack str | str == "*" = remaining ++ [x*y] | str == "+" = remaining ++ [x+y] | str == "-" = remaining ++ [x-y] | str == "/" = remaining ++ [x `div` y] | otherwise …
03 янв '19 в 07:35
1
ответ
foldLeft на карте - почему это работает?
Это из курса Coursera, до сих пор никто не мог мне помочь. Следующие работы взяты из лекции. object polynomials { class Poly(terms0: Map[Int, Double]) { def this(bindings: (Int, Double)*) = this(bindings.toMap) val terms = terms0 withDefaultValue 0.…
24 июл '16 в 06:26
0
ответов
Суммирование списка с использованием Foldl
Я новичок в Haskell и пытаюсь реализовать синусоидальное приближение, используя ряды Маклаурина, используя foldl на Haskell. Я уже сгенерировал список, и теперь я пытаюсь получить суммирование с помощью Fold. Это мой код Я знаю, что делаю что-то не …
28 апр '18 в 05:17
1
ответ
Haskell: foldl Функция применяется как инфиксная функция?
Является ли функция, которую я даю foldl применяется инфиксным способом? пример foldl (-) 0 [1,2,3] = 0-1-2-3 = -6 так в целом: foldl f x [a,b,c] применяется как: (((x `f` a) `f` b) `f` c) Я знаю, что это рекурсивно, но могу ли я думать об этом таки…
01 июл '18 в 06:14
1
ответ
Найти нажатия клавиш для экранной клавиатуры scala
Я пытаюсь решить вопрос недавнего интервью, используя Scala. У вас есть экранная клавиатура, которая представляет собой сетку из 6 строк по 5 столбцов в каждой. С алфавитами от A до Z и пустое пространство располагаются в строке сетки в первую очере…
11 май '17 в 15:40
2
ответа
Scala с использованием foldLeft для вставки терминатора между списком строк
Я написал свое собственное рекурсивное определение foldLeft и я хотел бы использовать его с этой функцией joinTerminateLeft который берет список строк и терминатор и создает новую строку с этими строками, разделенными терминатором. Например List("a"…
23 янв '17 в 20:06
2
ответа
Карта Scala с зависимыми переменными
В Scala у меня есть список функций, которые возвращают значение. Порядок, в котором выполняются функции, важен, так как аргумент функции n это выход функции n-1, Это подсказки для использования foldLeft, что-то вроде: val base: A val funcs: Seq[Func…
07 мар '17 в 12:06
2
ответа
Функция Scala FoldLeft
У меня есть ниже примерные данные: день,JD, месяц, год,PRCP(в),SNOW(в),TAVE (F),TMAX (F),TMIN (F) 1,335,12,1895,0,0,12,26,2 -2,336,12,1895,0,0,-3,11,-16 .,, Теперь мне нужно рассчитать самый жаркий день с максимальным значением TMAX, теперь я рассчи…
19 май '18 в 17:32
1
ответ
Scala - сравнение производительности агрегата против foldLeft
Насколько я понимаю, /: то же самое, что и foldLeft, а также то, что агрегат является более быстрой версией foldLeft, если список преобразуется в параллельную коллекцию с использованием 'par'. Если я прав, почему следующий код показывает, что:/ и fo…
15 ноя '16 в 07:34
1
ответ
Как сделать неубывающий список списков из одного списка? Без использования рекурсии, используя fold_left/fold_right. OCaml
Это моя идея вопроса, но я не могу правильно набрать fold_left метод. Пример: nonDecreasing[1;4;3;2;5;6] == [[1;4];[3];[2;5;6]] let nonDecreasing list = match list with | [] -> help(a, b, c) = b | h::[] -> 2 (*I don't know, "2" is only to comp…
21 ноя '18 в 18:07
2
ответа
Определение сгибания в терминах сгибания
myFoldl :: (a -> b -> a) -> a -> [b] -> a myFoldl f z xs = foldr step id xs z where step x g a = g (f a x) В настоящее время я читаю книгу о Haskell. И в нем он написал свою собственную версию функции foldl, но в терминах foldr. Я не …
30 окт '18 в 05:25
1
ответ
Манипулирование SortedMap с использованием foldleft
У меня есть код, который преобразует следующие типы данных: от: SortedMap[Long, SortedMap[String, Double]] до: SortedMap[String, Array[Double]] Может кто-нибудь объяснить, как этот код выполняет вышеуказанные манипуляции? val convertedDataWindow = d…
04 дек '14 в 08:58
3
ответа
Выбор между использованием foldleft() или Seq.newBuilder в Scala
У меня есть некоторый код, где мне нужно добавить элементы в последовательность, перебирая другую. Какой способ является "предпочтительным" или, вернее, лучшим способом сделать это в Scala и почему? Способ 1: val builder = Seq.newBuilder[String] for…
19 май '14 в 08:13
3
ответа
Как реализовать эту функцию foldl0 без вспомогательного метода?
У меня есть следующий код: function foldr0(list, func) { if (list.length == 0) { return 0; } else { return func(list[0], foldr0(list.slice(1), func)); } } function foldl0(list, func) { if (list.length == 0) { return 0; } else { return ? } } Я знаю, …
17 ноя '17 в 12:28