Вопросы с тегом '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 в 21:41
10 отв.

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

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

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

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

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

Я ищу алгоритм для создания перестановок набора таким образом, чтобы я мог составить ленивый список из них в Clojure. т.е. я хотел бы перебирать список перестановок, где каждая перестановка не вычисляется до тех пор, пока я ее не запрошу, и все пере...
09 дек. '08 в 12: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 в 16:39
33 отв.

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

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

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

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

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

Я хочу произвести декартово произведение двух списков в Haskell, но я не могу понять, как это сделать. Декартово произведение дает все комбинации элементов списка: xs = [1,2,3] ys = [4,5,6] cartProd :: [a] -> [b] -> [(a,b)] cartProd xs ys ==&...
08 нояб. '10 в 0: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 ...
11 июня '15 в 2:42
5 отв.

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

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

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

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

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

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

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

Эта проблема кажется простой на первый взгляд, но оказывается намного сложнее, чем кажется. На этот раз меня насторожило. Есть 52c5 = 2 598 960 способов выбрать 5 карт из колоды из 52 карт. Однако, поскольку костюмы взаимозаменяемы в покере, многие ...
30 сент. '10 в 12: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][...
07 авг. '09 в 2:27
2 отв.

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

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