Meydan okuma
Size verildi:
- Boş olmayan, sıralanmamış liste h pozitif tamsayılar (samanlık)
- pozitif bir tamsayı n (iğne)
Göreviniz , ikili gösterimi n'nin ikili gösterimini içeren, h nin permütasyonlarının tüm benzersiz ondalık birleştirmelerinin listesini döndürmektir .
Örnekler
h = [1, 2, 3]
n = 65Yalnızca bir eşleşen birleştirme var, bu nedenle beklenen çıktı
[321]
.h = [1, 2, 3]
n = 7Bu sefer, 111 ikili desenini içeren üç birleştirme vardır . Beklenen çıktı
[123, 231, 312]
.h = [12, 3]
n = 7Sadece iki permütasyon mevcuttur ve her ikisi de eşleşmektedir. Beklenen çıktı
[123, 312]
.h = [1, 2, 2]
n = 15Yalnızca eşleşen birleşimidir 122 ( 1111010 içeren ikili, içinde 1111 beklenen çıkışı bu yüzden,)
[122]
. İki permütasyon aslında yol açtığını Not 122 ama edilmektedir değil çıkışına izin[122, 122]
.
Açıklamalar ve kurallar
- İğneyi bir tamsayı (
65
), ondalık bir değeri ("65"
) temsil eden bir dize veya ikili değeri ("1000001"
) temsil eden bir dize olarak alabilirsiniz . - Samanlık, yerel bir dizi / nesne / tamsayılar kümesi (
[11,12,13]
), ondalık değerleri (["11","12","13"]
) temsil eden bir yerel dizi / nesne / dizi dizisi veya sınırlandırılmış ondalık değer dizisi ("11 12 13"
veya"11,12,13"
) olarak alabilirsiniz. Rakam dizilerini (benzeri[[1,1],[1,2],[1,3]]
) kullanarak bir değişkeni de seçebilirsiniz . - Çıktı, samanlık için yukarıda açıklanan formatlardan birini izlemelidir, ancak mutlaka aynı değildir.
- Onda en yüksek ondalık birleştirme, kendi dilinizde temsil edilebilecek en yüksek işaretsiz tamsayıdan büyük olan haystacks ile işlem yapmamanız gerekir.
- Bunun dışında, kodunuz yeterli zaman ve hafıza verildiği varsayılarak herhangi bir girişi teorik olarak desteklemelidir.
- Bu
SPARTA!kod-golf , bu yüzden bayt cinsinden en kısa cevap kazanır!
Test durumları
Haystack | Needle | Output
---------------------+----------+-----------------------------------
[ 1, 2, 3 ] | 65 | [ 321 ]
[ 1, 2, 3 ] | 7 | [ 123, 231, 312 ]
[ 12, 3 ] | 7 | [ 123, 312 ]
[ 1, 2, 2 ] | 15 | [ 122 ]
[ 1, 2 ] | 7 | []
[ 12, 34, 56 ] | 21 | [ 125634, 341256, 345612, 563412 ]
[ 1, 2, 3, 4, 5 ] | 511 | [ 53241 ]
[ 1, 3, 5, 7, 9 ] | 593 | [ 37519, 51793, 75913, 75931 ]
[ 11, 12, 13, 14 ] | 12141311 | [ 12141311 ]
[ 1, 2, 1, 2, 1, 2 ] | 1015 | [ 221112 ]
["12","3"]
ve ["1","23"]
iki farklı haystacks.
set([(1, 2, 2)])
. Geçerli mi yoksa kurtulmalıset
mıyım?