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

  • Bratayley

    Bratayley

    30 Aralık 2010
  • 趣味そうこ♪

    趣味そう

    3 Mart 2010
  • L- Crysis

    L- Crysis

    30 Aralık 2011