SORU
2 AĞUSTOS 2008, CUMARTESİ


Bir dize tüm olası permütasyon listesi oluşturmak

Nasıl uzunluğu x ve y karakterleri arasındaki bir dize tüm olası permütasyon listesi oluşturma hakkında, karakter değişken bir listesini içeren giderdim.

Herhangi bir dili çalışmak istiyorsunuz, ama taşınabilir olmalı.

CEVAP
2 AĞUSTOS 2008, CUMARTESİ


Bunu yapmak için çeşitli yollar vardır. Yaygın yöntem, özyineleme, memoization, ya da dinamik programlama kullanın. Temel fikir üretmek bir liste tüm dizelerin uzunluğu 1, sonra her yineleme için tüm dizeleri üretilen son yineleme, add dize birleştirilmiş her karakter dizesi ayrı ayrı. (kodda değişken dizin altında geçen ve sonraki yineleme) başlangıcı izler

Bazı sözde kod:

list = originalString.split('')
index = (0,0)
list = [""]
for iteration n in 1 to y:
  index = (index[1], len(list))
  for string s in list.subset(index[0] to end):
    for character c in originalString:
      list.add(s   c)

listede x uzunluğu, ilk (x-1) olacak * len () originalString girdileri daha az tüm dizeleri kaldırmak gerekir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • L- Crysis

    L- Crysis

    30 Aralık 2011
  • Liz Morgan

    Liz Morgan

    4 Aralık 2011
  • TechSmartt

    TechSmartt

    29 Aralık 2010