|
2750 / 2058 / 508
Регистрация: 17.02.2014
Сообщений: 9,485
|
||||||
Получение всех комбинаций элементов массива27.07.2018, 09:43. Показов 14891. Ответов 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 | |
|
Помогаю со студенческими работами здесь
31
Получение i-ого элемента массива без вычисления всех элементов (Ленивые вычисления)
Массивы: определение частного от деления суммы всех положительных элементов на количество всех отрицательных элементов массива Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|