Какого вида у тебя картинки? Просто белый лист с контурами рисунка, или фотографии? В первом случае легко будет программно определить закрашиваемые области. Во втором - как повезет..
если просто использовать { [element]: true } то пишет ошибку
если выражение начинается с фигурной скобки, js думает что это блок кода (таки да, оный блок бывает и "сам по себе", а не только после if(), for(), в определении функций и т.д.).
иначе всё норм, например,
const obj = {[element]: true};
или
JSON.stringify({[element]: true})
Хотя можно же за линейное время. Сделай quickselect (загугли что это) для k-го наибольшего по размеру элемента, пусть он окажется равен Р. Далее циклом посчитай сумму всех элементов, которые больше Р, и их количество, это значения S и C.
Ответ равен S + (K - C) * P
space-symbol, вообще, здесь проще всего отсортировать массив по убыванию и потом посчитать сумму К первых элементов. Это не оптимальный вариант, но он почти наверняка быстрее твоего
А вот как избавиться от переполнение стека я не пока не понимаю
Говорю же - не писать Math.max(...staff), а например сделать это тем же самым редьюсом. Просто ты в этом выражении поэлементно складываешь весь массив на стек вызовов. А стек не резиновый, и любит скандалить от переполнения.
Prudya, для вычислений рекурсия более чем подходит. Врубай ДП, мемоизацию, будет максимально быстрый и точный результат. А если надо построить график F(N), то прям - доктор прописал.
Если нужны прямые формулы, то, повторюсь, рекурсию для конкретных М закинь на ВольфрмАльфа. Он тебе нарисует эти формулы, ты на них посмотришь с некоторым ...изумлением, и далее вопросы отпадут.
Пока не пойму как выразить количество не успехов через Фибоначчи
да так же, рекурсивно
например, М=3. Пусть P(N) - количество неуспешных последовательностей для М=3. Их есть два непересекающихся набора:
1) все, которые оканчиваются на 01 или 10. Количество таких будет P(N-1), т.е. мы отбрасываем последний элемент и смотрим только предыдущие N-1 бросков
2) все, которые оканчиваются на 100 или 011. Таковых всего P(N-2).
далее берем базовые кейсы
P(1) = 2, последовательности 1 и 0
P(2) = 4, тоже все варианты - 11, 00, 10, 01
Максим Припадчев, для М=2 проще смотреть неуспешные варианты. Их всегда только 2: чередование начиная с орла и чередование начиная с решки. Итого получается вероятность неуспеха 2 / 2^N = 1 / 2^(N-1), как у меня и вышло.
Для М=3 всё сразу намного сложнее, там количество разных неуспешных комбинаций растет экспоненциально (формула будет похожа на Фибоначчи).
Astral100498, ну значит где-то ты используешь СВГ-шки как компоненты. Тут надо определиться, как быть. Либо всегда делать их компонентами и не пытаться вставить в background, либо всегда разуметь их как картинки и не рендерить в jsx, либо какой-то промежуточный вариант, например по названию файла: если там, допустим, "fileName.image.svg", то не превращать в реакт - это можно настроить в конфиге
вообще рекомендуется всегда использовать самый первый вариант. Бонус: в картинке может быть для какого-нибудь цвета значение currentColor, и ты сможешь его задать стилями. Плюс ещё можно что-то докрутить программно.
Максим Припадчев, я вбил в ВольфрамАльфа рекурсии для М = 3 и М = 4
Явные формулы получаются кошмарные, непонятно, как их обобщать. Думаю, это не доставит эстетического удовольствия автору вопроса )
просто дописывать свой ответ в какое-то одно место.
смутно припоминаю, что это место называется StringBuffer
автор ещё не указал, надо ли добавлять скобки для подвыражений.
Например, было min(a, b + c), надо a min b + c или a min (b + c), второе выглядит как-то более явно
С теми данными, которые указаны, в общем случае будет два возможных центра (кроме случая, когда точки лежат на концах диаметра, ну и не рассматриваем совсем тяжелый случай, когда точки совпадают).