|
2762 / 2069 / 510
Регистрация: 17.02.2014
Сообщений: 9,507
|
||||||
Получение всех комбинаций элементов массива27.07.2018, 09:43. Показов 15026. Ответов 30
Метки нет (Все метки)
Время от времени возникает необходимость получить все комбинации элементов, какого либо набора.
Вот, пришло на ум, как относительно просто это сделать:
1
|
||||||
| 27.07.2018, 09:43 | |
|
Ответы с готовыми решениями:
30
Генерация всех возможных комбинаций из элементов массива Перебор всех комбинаций элементов массива в нескольких одномерных массивов Получение всевозможных комбинаций массива |
|
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
|
|||
| 30.07.2018, 18:11 | |||
|
0
|
|||
|
75 / 61 / 29
Регистрация: 20.04.2015
Сообщений: 415
|
|||
| 30.07.2018, 18:54 | |||
|
Кликните здесь для просмотра всего текста
0
1 2 3 a b c 3 a b d 3 a b f 2 3 a c b 3 a c d 3 a c f 2 3 a d b 3 a d c 3 a d f 2 3 a f b 3 a f c 3 a f d 1 2 3 b a c 3 b a d 3 b a f 2 3 b c a 3 b c d 3 b c f 2 3 b d a 3 b d c 3 b d f 2 3 b f a 3 b f c 3 b f d 1 2 3 c a b 3 c a d 3 c a f 2 3 c b a 3 c b d 3 c b f 2 3 c d a 3 c d b 3 c d f 2 3 c f a 3 c f b 3 c f d 1 2 3 d a b 3 d a c 3 d a f 2 3 d b a 3 d b c 3 d b f 2 3 d c a 3 d c b 3 d c f 2 3 d f a 3 d f b 3 d f c 1 2 3 f a b 3 f a c 3 f a d 2 3 f b a 3 f b c 3 f b d 2 3 f c a 3 f c b 3 f c d 2 3 f d a 3 f d b 3 f d c да ты угараешь надо мной????одинаково выводит что с ретурном что без
0
|
|||
|
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
|
|||
| 30.07.2018, 18:57 | |||
|
Тут уже указывал начальные данные и два вывода. Они одинаковые? Добавлено через 48 секунд
0
|
|||
|
75 / 61 / 29
Регистрация: 20.04.2015
Сообщений: 415
|
||
| 30.07.2018, 20:49 | ||
|
Добавлено через 1 минуту и когда конечный метод заканчивает работу метод продолжает там где остановился с момента где он запустил следующий и так далее? правильно?
0
|
||
|
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
|
||
| 30.07.2018, 20:53 | ||
|
1
|
||
|
75 / 61 / 29
Регистрация: 20.04.2015
Сообщений: 415
|
|
| 30.07.2018, 21:11 | |
|
вот теперь понятно я то думал что рекурся тупо перезапескает метод
PS один фиг у меня что с ретурном что без ретурна одинаковый вывод по этому не понятно я чего он нужен
0
|
|
|
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
|
||
| 30.07.2018, 21:16 | ||
|
0
|
||
|
528 / 263 / 70
Регистрация: 11.12.2016
Сообщений: 1,223
|
|
| 30.07.2018, 23:56 | |
|
JIeIIIa,
Метод конечно классно выглядит, мне понравился(но я не запускал), хотя я думаю что собеседника путает return, лучше бы другой for в else запихнуть. Единственное непонятно это 3-й аргумент, expectedSize. Если он идентичный размеру массива то понятно - получаем все возможные комбинации. Вопрос, а если нет(неравен) то что он дает? Зачем нам это "волшебное число"?
0
|
|
|
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
|
|||||||||||||
| 31.07.2018, 00:08 | |||||||||||||
составить все комбинации, длина которых равна expectedSize. Я приводил пример вывода для N == 4 и expectedSize == 3
0
|
|||||||||||||
|
75 / 61 / 29
Регистрация: 20.04.2015
Сообщений: 415
|
||||||
| 10.08.2018, 08:52 | ||||||
|
Кликните здесь для просмотра всего текста
ну не понимаю зачем ретурн...
0
|
||||||
|
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
|
|||||||||||
| 10.08.2018, 09:58 | |||||||||||
|
WinniPuh, там, где есть return максимальная длина построенное последовательности равна expectedSize. Т.е. построит что необходимо, выведет на экран и рекурсивный спуск остановится (вернемся на шаг выше).
Там, где нет return максимальная длина построенной последовательности равна количеству символов в arr. При этом точно так же на экран будет выведен результат только тогда, когда выполняется условие indexes.size() == expectedSize. Но после вывода будет построена последовательность длины expectedSize+1, expectedSize+2 и т.д. Просто Вы этого на экране не увидите.Например, поместите в конце обоих рекурсивных метовод System.out.println("+") и сравните выводы на экран.Для размышления:
0
|
|||||||||||
| 10.08.2018, 09:58 | |
|
Получение i-ого элемента массива без вычисления всех элементов (Ленивые вычисления)
Массивы: определение частного от деления суммы всех положительных элементов на количество всех отрицательных элементов массива Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|