powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Расчёт количества цепочек
12 сообщений из 12, страница 1 из 1
Расчёт количества цепочек
    #39454217
dmaytry79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!

Есть последовательность: ' 1 000 111 00 111 00 11 0 11 00 1111 ' и т.д.
Нужно вычислить количество разных цепочек, т.е.

кол-во цепочек из 1-го элемента - 1,
кол-во цепочек из 2-х элементов - 2,
кол-во цепочек из 3-х элемента - 2,
кол-во цепочек из 4-х элемента - 1.

Имеется в виду непрерывная цепь единичек.

Может, я туплю, но ума не приложу, как это подсчитать?

Помогите, пожалуйста!
...
Рейтинг: 0 / 0
Расчёт количества цепочек
    #39454218
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прямое сканирование, коллекция результатов (ключ - количество элементов) и счётчик.
...
Рейтинг: 0 / 0
Расчёт количества цепочек
    #39454222
dmaytry79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina, хотелось бы увидеть код на любом ЯВУ
...
Рейтинг: 0 / 0
Расчёт количества цепочек
    #39454223
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmaytry79хотелось бы увидеть код на любом ЯВУ
напишите и увидите.
...
Рейтинг: 0 / 0
Расчёт количества цепочек
    #39454224
dmaytry79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема в том, что я не знаю, как определить кол-во элементов в конкретной цепочке!
...
Рейтинг: 0 / 0
Расчёт количества цепочек
    #39454268
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В цикле. Читай по одному элементу, считай и пиши результат в массив.
...
Рейтинг: 0 / 0
Расчёт количества цепочек
    #39454273
zudver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dmaytry79Доброго времени суток!

Есть последовательность: ' 1 000 111 00 111 00 11 0 11 00 1111 ' и т.д.
Нужно вычислить количество разных цепочек, т.е.

кол-во цепочек из 1-го элемента - 1,
кол-во цепочек из 2-х элементов - 2,
кол-во цепочек из 3-х элемента - 2,
кол-во цепочек из 4-х элемента - 1.

Имеется в виду непрерывная цепь единичек.

Может, я туплю, но ума не приложу, как это подсчитать?

Помогите, пожалуйста!


String aa = "1000111001110011011001111";
String[] splited = aa.split("0+");
Map<String, Long> result = Arrays.stream(splited).collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
result.forEach((k,v) -> System.out.println(k + " -> " +v));
...
Рейтинг: 0 / 0
Расчёт количества цепочек
    #39454392
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Однострочник на Perl:
Код: plaintext
perl -e 'print join ",", map {length($_)} split /0+/, "1000111001110011011001111";'
...
Рейтинг: 0 / 0
Расчёт количества цепочек
    #39454421
dmaytry79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
<?php
$sequence = '1000111001110011011001111';
preg_match_all("/1+/", $sequence, $matches);
foreach ($matches[0] as $match) $result[strlen($match)]++;
echo '<pre>'; print_r($result);
...
Рейтинг: 0 / 0
Расчёт количества цепочек
    #39454426
dmaytry79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем огромное за участие и за ответы! На perl очень интересно, но я с ним не очень знаком. Нужно было именно на PHP.
...
Рейтинг: 0 / 0
Расчёт количества цепочек
    #39466257
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmaytry79,

Интересней был бы приблизительный подсчет количества ваших цепочек, для последовательности, скорость появления элементов в которой была бы выше возможности ВМ выполнять алгоритм с линейной асимптотикой. Или такая постановка - приблизительный подсчет за O(1). Впрочем они довольно похожи
...
Рейтинг: 0 / 0
Расчёт количества цепочек
    #39468285
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek , однострочник на perl6

Код: plaintext
perl6 -ne m:g/1+/.words.Bag.say <<< 1111011011101011011010

Вывод:
Код: vbnet
1.
bag(1(2), 111, 1111, 11(3))
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Расчёт количества цепочек
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]