Вопросы с тегом 'combinatorics'

Сделки с комбинациями объектов, принадлежащих конечному множеству, в соответствии с определенными ограничениями.
29

Как сгенерировать все перестановки списка в Python

Как вы генерируете все перестановки списка в Python, независимо от типа элементов в этом списке? Например: permutations([]) [] permutations([1]) [1] permutations([1, 2]) [1, 2] [2, 1] permutations([1, 2, 3]) [1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, ...
19 сент. '08 в 18:41
13

Быстрая перестановка → число → алгоритмы перестановочного отображения

У меня есть n элементов. Для примера, скажем, 7 элементов, 1234567. Я знаю, что есть 7!= 5040 возможных из этих 7 элементов. Я хочу быстрый алгоритм, содержащий две функции: f (число) отображает число от 0 до 5039 до уникальной перестановки и f '(...
01 окт. '09 в 19:52
12

Сгенерировать все перестановки списка без смежных равных элементов

Когда мы сортируем список, например a = [1,2,3,3,2,2,1] sorted(a) => [1, 1, 2, 2, 2, 3, 3] равные элементы всегда смежны в результирующем списке. Как я могу достичь противоположной задачи - перетасовать список, чтобы равные элементы никогда (и...
13 авг. '14 в 12:09
5

Сгенерирование перестановок лениво

Я ищу алгоритм для создания перестановок набора таким образом, чтобы я мог составить ленивый список из них в Clojure. т.е. я хотел бы перебирать список перестановок, где каждая перестановка не вычисляется до тех пор, пока я ее не запрошу, и все пере...
09 дек. '08 в 9:19
11

Создание всех возможных комбинаций

Учитывая 2 массива Array1 = {a,b,c...n} и Array2 = {10,20,15....x}, как я могу сгенерировать всю возможную комбинацию в виде строк a (i) b (j) c (k) n (p) где 1 <= i <= 10, 1 <= j <= 20 , 1 <= k <= 15, .... 1 <= p <= x ...
22 июн. '10 в 13:39
33

Как я могу распечатать все возможные комбинации букв, которые может представлять данный номер телефона?

Я только что попробовал свое первое интервью по программированию, и один из вопросов заключался в том, чтобы написать программу, которая дала 7-значный номер телефона, могла печатать все возможные комбинации букв, которые могут представлять каждый но...
26 февр. '10 в 20:10
17

Комбинаторный "N выбирает R" в Java-математике?

Есть ли встроенный метод в java-библиотеке, которая может вычислить "N выбрать R" для любого N, R?
04 февр. '10 в 16:03
12

Декартово произведение из 2 списков в Haskell

Я хочу произвести декартово произведение двух списков в Haskell, но я не могу понять, как это сделать. Декартово произведение дает все комбинации элементов списка: xs = [1,2,3] ys = [4,5,6] cartProd :: [a] -> [b] -> [(a,b)] cartProd xs ys ==&...
07 нояб. '10 в 21:13
8

Случайная выборка символьного вектора без элементов, префиксных друг другу

Рассмотрим вектор символов, pool, элементы которого (с нулевым заполнением) двоичные числа с цифрами max_len. max_len <- 4 pool <- unlist(lapply(seq_len(max_len), function(x) do.call(paste0, expand.grid(rep(list(c('0', '1')), x))))) pool ...
10 июн. '15 в 23:42
5

генерирование перестановок с повторениями в python

Я знаю об itertools, но, похоже, он может генерировать только перестановки без повторений. например, я хотел бы сгенерировать все возможные броски кубиков для 2 кубиков. Поэтому мне нужны все перестановки размером 2 из [1, 2, 3, 4, 5, 6], включая по...
23 июн. '10 в 8:17
5

Интервью Google: организация блоков

Вам заданы N блоков высоты 1... N. Сколько способов вы можете упорядочить эти блоки подряд, чтобы при просмотре слева вы видели только L блоков (остальные скрыты более высокими блоками), и, если смотреть справа, вы видите только R блоков? Пример, ука...
07 окт. '11 в 20:40
4

Декартово произведение словаря списков

Я пытаюсь написать некоторый код, чтобы проверить декартово произведение пучка входных параметров. Я посмотрел itertools, но его функция product не совсем то, что я хочу. Есть ли простой очевидный способ взять словарь с произвольным количеством клю...
08 мар. '11 в 3:57
12

Создание всех 5 карточных покерных рук

Эта проблема кажется простой на первый взгляд, но оказывается намного сложнее, чем кажется. На этот раз меня насторожило. Есть 52c5 = 2 598 960 способов выбрать 5 карт из колоды из 52 карт. Однако, поскольку костюмы взаимозаменяемы в покере, многие ...
30 сент. '10 в 9:46
23

Code-golf: создать треугольник паскаля

Создайте список списков (или напечатайте, я не против) Треугольник Паскаля размера N с наименьшими строками кода Вот моя попытка (118 символов в python 2.6, используя трюк): c,z,k=locals,[0],'_[1]' p=lambda n:[len(c()[k])and map(sum,zip(z+c()[k][...
06 авг. '09 в 23:27
2

Что делает реализация перестановок этого списка в Haskell?

Я изучаю код в модуле Data.List и не могу точно обойти эту реализацию перестановок: permutations :: [a] -> [[a]] permutations xs0 = xs0 : perms xs0 [] where perms [] _ = [] perms (t:ts) is = foldr interleave (per...
30 июн. '14 в 6:48