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

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

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

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

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

Помогите, пожалуйста!
...
Рейтинг: 0 / 0
16.05.2017, 23:45
    #39454218
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Расчёт количества цепочек
Прямое сканирование, коллекция результатов (ключ - количество элементов) и счётчик.
...
Рейтинг: 0 / 0
16.05.2017, 23:58
    #39454222
dmaytry79
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Расчёт количества цепочек
Akina, хотелось бы увидеть код на любом ЯВУ
...
Рейтинг: 0 / 0
17.05.2017, 00:01
    #39454223
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Расчёт количества цепочек
dmaytry79хотелось бы увидеть код на любом ЯВУ
напишите и увидите.
...
Рейтинг: 0 / 0
17.05.2017, 00:03
    #39454224
dmaytry79
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Расчёт количества цепочек
Проблема в том, что я не знаю, как определить кол-во элементов в конкретной цепочке!
...
Рейтинг: 0 / 0
17.05.2017, 07:04
    #39454268
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Расчёт количества цепочек
В цикле. Читай по одному элементу, считай и пиши результат в массив.
...
Рейтинг: 0 / 0
17.05.2017, 07:22
    #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
17.05.2017, 10:23
    #39454392
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Расчёт количества цепочек
Однострочник на Perl:
Код: plaintext
perl -e 'print join ",", map {length($_)} split /0+/, "1000111001110011011001111";'
...
Рейтинг: 0 / 0
17.05.2017, 10:53
    #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
17.05.2017, 10:54
    #39454426
dmaytry79
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Расчёт количества цепочек
Всем огромное за участие и за ответы! На perl очень интересно, но я с ним не очень знаком. Нужно было именно на PHP.
...
Рейтинг: 0 / 0
05.06.2017, 22:42
    #39466257
SashaMercury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Расчёт количества цепочек
dmaytry79,

Интересней был бы приблизительный подсчет количества ваших цепочек, для последовательности, скорость появления элементов в которой была бы выше возможности ВМ выполнять алгоритм с линейной асимптотикой. Или такая постановка - приблизительный подсчет за O(1). Впрочем они довольно похожи
...
Рейтинг: 0 / 0
08.06.2017, 07:48
    #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]