|
Котовчанин
|
||||||
Странная последовательность23.02.2015, 17:14. Показов 4708. Ответов 72
Метки нет (Все метки)
Добрый день, дорогие мои.
![]() В невероятном раздражении обращаюсь к Вам, потому могут быть резкие выпады гнева. ![]() У меня следующий вопрос - есть задание "создать странную последовательность". Это такая последовательность, в которой элементы отличаются между собой не более, чем на 1. То есть, если у нас массив - 5 3 1 4, то нужно сделать из него - 3 2 1 2. При этом, нужно посчитать, на сколько единиц я каждый раз уменьшала каждый элемент. Я решила эту задачу таким способом.
Буду очень благодарна.
0
|
||||||
| 23.02.2015, 17:14 | |
|
Ответы с готовыми решениями:
72
странная последовательность
|
|
28 / 28 / 5
Регистрация: 23.04.2014
Сообщений: 130
|
|
| 23.02.2015, 20:30 | |
|
0
|
|
|
|
|||
| 23.02.2015, 21:13 | |||
|
0
|
|||
| 23.02.2015, 21:15 | |
|
Если я правильно понял эту сильно расплывчатую постановку, то это делается тривиально за один проход массива - получаем из одного входного 2 выходных массива - первый с диапазоном скачков [-1;1] а второй - почленная разность его с исходным.
0
|
|
|
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
|
|||
| 23.02.2015, 21:25 | |||
![]()
0
|
|||
|
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
|
||||
| 23.02.2015, 21:44 | ||||
|
1 2 1 2 3 2 1 2 3 хотя мне больше нравится 21 22 21 22 23 22 23 22 23 24 ![]() Добавлено через 1 минуту
0
|
||||
|
Модератор
|
|||||
| 23.02.2015, 22:18 | |||||
|
Я почему и спрашивал про нахождение минимального элемента. Потому как, если можно только уменьшать элементы, то:
1) надо найти минимальный элемент массива 2) использовав его как отправную точку, "бежать" от него к началу и концу массива, уменьшая остальные элементы, согласно условию (с разницей в единицу). Тогда в моём примере получилось бы такая картина:
Хмм... а ведь и "уменьшать соседей" можно по разному... Можно чтобы они были больше на единицу, а можно чтобы меньше. А как надо? Ну найду я минимальный элемент (21). Соседей надо уменьшить до 22 или до 20? Добавлено через 11 минут Возможно, отношения в конечном массиве должны быть такие же, как в исходном массиве... То есть, если в исходном массиве первый элемент был больше второго, то и в конечном должно быть так же. Тогда мой пример будет выглядеть так:
1
|
|||||
|
Комп_Оратор)
|
||
| 24.02.2015, 00:29 | ||
|
Мне кажется, что изменять следует только следующий элемент. Потому, что если изменять уже принятый, то нет гарантии, что не придётся бежать обратно. Смотрите: 8, 5, 3, 25, 23, 20, 6,5, ... делая 5->4 чтобы 4,3 нужно вернутся и уменьшить 6->5 получили: 5, 4,3 далее 25 что делать? опять назад бежать или уменьшать 25? Вообще, в такой задаче нужно бы знать каков доступ к исходной последовательности. Из Ваших слов, пока, можно предположить, что последовательный. Правильно? Похоже также, что нельзя сделать никаких допущений о средней величине данных в потоке. Тогда, возможно, чтобы исключить хотя бы возвратно колебательные итерации имеет смысл модифицировать всегда, именно, следующий элемент. Это иногда может быть не самым быстрым путём, но зато порождает простое и однозначно воспроизводимое правило. Тогда: 8, 5, 3, 25, 23, 20... породит: 8, 7, 6, 7, 8, 9 при этом количество единиц: 0, 2, 3, -18, -15, -11... я привёл со своими знаками, потому как не понял как их считать. Реализовать такое несложно. Не сердитесь если я не понял о чём речь.
1
|
||
|
Котовчанин
|
|||||||||
| 24.02.2015, 09:35 [ТС] | |||||||||
![]() Вы уверенны, что если свести каждый элемент ближе к минимальному, то получится меньше уменьшений? Можно попробовать, конечно. Может Ваш способ правильный. Добавлено через 6 минут ![]() ![]() ![]() Добавлено через 8 минут Раз речь об оптимальности, думаю что нужно так, чтобы кол-во уменьшений было как можно меньше. То есть, если уменьшив до 22, кол-во уменьшеных единиц будет меньше, чем уменьшив до 20, то этот способ и применить. Добавлено через 7 минут
0
|
|||||||||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||
| 24.02.2015, 09:36 | ||
|
[2 5 7 1 1 3] Если меньше единицы быть не может, то одну из единиц таки придется увеличить.
1
|
||
|
|
|||||||
| 24.02.2015, 09:40 | |||||||
|
Тамика,
2
|
|||||||
|
|
||||||||||||
| 24.02.2015, 09:43 | ||||||||||||
|
Вот вариант с выбором направления нормализации
2
|
||||||||||||
|
Котовчанин
|
|
| 24.02.2015, 09:47 [ТС] | |
|
DrOffset, gru74ik верно ответил.
![]() Добавлено через 4 минуты -=ЮрА=-, воу... Круто! Огромное спасибо. ![]() Единственный нюанс - нельзя увеличивать числа... То есть, плавную последовательность строить можно только уменьшением.
0
|
|
|
Модератор
|
||
| 24.02.2015, 09:52 | ||
|
Тебе в любом случае придётся все ползунки "двигать" относительно минимального, иначе условие не будет выполнено. Только если ты найдёшь минимальный, то не придётся вперёд-назад по массиву бегать. 1) Один проход - ищем минимальный. 2) Второй проход - упорядочиваем относительно минимального.
2
|
||
|
Котовчанин
|
|
| 24.02.2015, 09:55 [ТС] | |
|
gru74ik, вот да, сейчас как раз переделываю код. Поняла, что Ваш вариант таки крут.
0
|
|
| 24.02.2015, 09:55 | |
|
Задана последовательность слов. Определить частоту вхождения каждого слова в последовательность.
Массив: Вставить в последовательность действительное число b так, чтобы последовательность осталась неубывающей. Если последовательность отсортирована по возрастанию, оставить ее без изменения. Иначе получить иную последовательность Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|