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

  • 3biblecom

    3biblecom

    23 NİSAN 2011
  • footiecyclo

    footiecyclo

    26 EYLÜL 2009
  • iZAPPA

    iZAPPA

    16 Temmuz 2010