My take:

d=: 1 1 2 2

f=: ~.@: (] {~ (i.@! A. i.)@#)


 f d


1 1 2 2

1 2 1 2

1 2 2 1

2 1 1 2

2 1 2 1

2 2 1 1

On Fri, Apr 24, 2015 at 4:00 PM, 'Pascal Jasmin' via Programming <
programm...@jsoftware.com> wrote:

> archive or wiki did not help, but perhaps I searched wrong
>
> perm =: i.@! A. i.
>
>   ~.@({~ [: perm #) 1 1 2 2
> 1 1 2 2
> 1 2 1 2
> 1 2 2 1
> 2 1 1 2
> 2 1 2 1
> 2 2 1 1
>
> while that is the answer I want, and is short and elegant, it grows very
> innefficient as the length of the argument grows even if the answer is a
> short list.
>
> Is there an algorithm that can produce these "permutations with repeats"
> without the intermediate full permutation list?
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>



-- 
 - michael dykman
 - mdyk...@gmail.com

 May the Source be with you.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to