Все комбинации заданной длины
MEDIUM
На вход подается строка целых уникальных (не повторяющихся) чисел, разделенных пробелами (elements ).
Следующая строка содержит число элементов в комбинации (k ).
1 ≤ k ≤ количество elements
Найдите все возможные комбинации заданной длины. Выведите их в любом порядке.
Пример #1
Input
Output
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3
Решение
<?php
$nums = explode(' ', trim(fgets(STDIN)));
$count = (int)trim(fgets(STDIN));
function find(array $array, int $count): array
{
if ($count === 1) {
return $array;
}
$lowLevelCombinations = find($array, $count - 1);
$currentLevelCombinations = [];
foreach ($array as $item) {
foreach ($lowLevelCombinations as $lowLevelCombination) {
$currentLevelCombinations[] = trim($item . ' ' . $lowLevelCombination);
}
}
return $currentLevelCombinations;
}
foreach (find($nums, $count) as $combination) {
echo $combination . PHP_EOL;
}
Select programming language
C (GCC 9.3.0)
Java (OpenJDK 1.8)
Python (3.8)
C++ (GCC 9.3.0)
C# (Mono 6.8)
JavaScript (NODE 14.1)
PHP (7.4)
Go (1.14)
Kotlin (JVM 1.3.72)
Swift (5.2)
Для просмотра решения нужно войти на сайт.
Тесты
Тест #1
Загрузка...
Тест #2
Загрузка...
Тест #3
Загрузка...
Тест #4
Загрузка...
Тест #5
Загрузка...
Тест #6
Загрузка...
Тест #7
Загрузка...
Тест #8
Загрузка...