- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Приветствую! Подскажите алгоритм, при котором из массива будет выводиться элемент с процентной долей вероятности?
Пример, на входе получаем массив:
...
На выходе должны получить элемент массива, с 50%, 40%, и 10% долей вероятности из общего числа просмотров.
Самое очевидное - запихните в другой массив знчения img столько раз, сколько у вас вероятность в процентах (ну или на 10 поделите в этом случае), а потом через rand() выбирайте оттуда любое значение.
Достаточно взять rand(1,100) (при условии, что ваш массив сформирован верно и сумма всех вероятностей дает 100), а потом пробежаться по массиву и определить, в какой диапазон "попал" результат (сравниваем результат со счетчиком, если результат меньше или равен, то break, иначе к счетчику прибавляем prc.
А можно брать rand(1,сумма_вероятностей) - тогда как раз прпорционально будет и нет необходимости следить, что сумма 100 равнялась.
сложность возникает, если кол-во элементов может меняться, если известно что их 3, то обычным рандомом
А можно брать rand(1,сумма_вероятностей) - тогда как раз прпорционально будет и нет необходимости следить, что сумма 100 равнялась.
Да, но в таком случае будет не вероятность в классическом смысле (от 0 до 1 или от 0 до 100%), а что-то типа ведра с шариками (в ведре 10 синих, 20 зеленых и 60 красных, какова вероятность что будет вытащен шар нужного цвета), такой массив несколько сложнее заполнять, с точки зрения прикидывания необходимой частоты показа элемента. Хотя, кому как.