language: C# (mono-2.8)
date: 131 days 8 hours ago
link:
visibility: public
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
using System;
using System.Collections.Generic;
using System.Linq;
 
static class Program
{
    private static void Main(string[] args)
        {
                "foo".ToCharArray().Permutate().ForEach(Console.WriteLine);
                "abbccc".ToCharArray().Permutate().ForEach(Console.WriteLine);
 
                Console.Read();
        }
 
        public static List<string> Permutate(this IEnumerable<char> s)
        {
                return s.SelectMany(x =>
                        {
                                var index = Array.IndexOf(s.ToArray(), x);
                                return
                                        s.Where((y, i) => i != index)
                                         .Permutate()
                                         .Select(y => new string(new[] {x}.Concat(y).ToArray()))
                                         .Union(new[] {new string(new[] {x})});
                        }).Distinct().Where(x => x.Length == s.Count()).ToList();
        }
}
 
 
  • upload with new input
  • result: Success     time: 0.09s    memory: 34272 kB     returned value: 0

    foo
    ofo
    oof
    abbccc
    abcbcc
    abccbc
    abcccb
    acbbcc
    acbcbc
    acbccb
    accbbc
    accbcb
    acccbb
    babccc
    bacbcc
    baccbc
    bacccb
    bbaccc
    bbcacc
    bbccac
    bbccca
    bcabcc
    bcacbc
    bcaccb
    bcbacc
    bcbcac
    bcbcca
    bccabc
    bccacb
    bccbac
    bccbca
    bcccab
    bcccba
    cabbcc
    cabcbc
    cabccb
    cacbbc
    cacbcb
    caccbb
    cbabcc
    cbacbc
    cbaccb
    cbbacc
    cbbcac
    cbbcca
    cbcabc
    cbcacb
    cbcbac
    cbcbca
    cbccab
    cbccba
    ccabbc
    ccabcb
    ccacbb
    ccbabc
    ccbacb
    ccbbac
    ccbbca
    ccbcab
    ccbcba
    cccabb
    cccbab
    cccbba