Closed denisenes closed 7 months ago
1) "optimizer" updated. 2) joke: exe.exe.exe.exe
optimizer ["sqrt", "inc", "dec", "dec", "double"]
зависает
Сложное очень решение получилось, легко багу поймать. Возможно, стоит как-то упростить
Вообще, задачка про оптимизацию стоит большего количества баллов, так что наверное за этот семинар все таки 4.5 будет стоять, а то решение сейчас некорректное. А если исправишь, повышу
Исправил
Вообще, задачка про оптимизацию стоит большего количества баллов, так что наверное за этот семинар все таки 4.5 будет стоять, а то решение сейчас некорректное. А если исправишь, повышу
Круто, теперь и просто, и работает корректно
Только пожалуйста, старайся не умещать все функцию в одну строку, сложно читать. С помощью отступов можно сделать функцию читабельнее например так
optimizer :: [String] -> [String]
optimizer arr = y
where
(x:y) = reverse (foldl (\(first:acc) x ->
if ((first, x) == ("inc", "dec")) || ((first, x) == ("dec", "inc"))
then acc
else x:(first:acc)
) [""] arr)
Оценку повышаю до 5
Советую быть очень осторожным с конкатенациями, особенно, если первый элемент конкатенации в среднем достаточно большой. Глянь тут описание: тудумс
Задача 5: во-первых, много if-ов это не очень красиво, тут отлично бы вписались гарды (охранные выражения) Во-вторых, смотрю ты прям любишь выражения в скобки обрамлять. Будущий LISP-программист походу)![image](https://github.com/Hom4ikTop4ik/23217_MartynovBogdan/assets/55022112/7e4d7db4-f7b7-412d-8645-18fb453de022)
Почему-то 5 задача падает при таком вызове
optimizer ["inc", "dec"]
...optimizer'
вроде работает нормальноОценка за задачки: 4.7, можешь поправить optimizer и получить макс балл