Son zamanlarda iki liste vardı iş yerinde çözmek için bir sorun vardı: bir ana liste ve ana listedeki öğelerin bir alt kümesini potansiyel olarak farklı bir sırayla içeren daha küçük bir liste. Ana listeyi, listede bulunmayan öğelerin sırasını değiştirmeden ve öğeleri mümkün olduğunca aynı konumda tutmadan alt kümedeki öğelerin aynı sırada görüneceği şekilde yeniden sıralamam gerekiyordu. Tamam, bu muhtemelen kafa karıştırıcı geliyor, bu yüzden onu yıkacağım:
- Ana liste, öğelerin varsayılan sırasını tanımlar.
- Altküme listesi, belirli öğelerin göreli sırasını tanımlar.
- Ana liste, altküme listesine göre iki öğenin arızalı olduğu durumlarda, ana listede daha önce yer alan öğenin, alt küme listesindeki diğer öğelere göre doğru konumda olduğu en eski dizine taşınması gerekir. (yani sonraki öğeden hemen sonra)
Göreviniz bu yeniden sıralama algoritmasını uygulamaktır.
Örnek Test Durumları
Master: [1, 2, 3]
Subset: []
Result: [1, 2, 3]
Master: [9001, 42, 69, 1337, 420]
Subset: [69]
Result: [9001, 42, 69, 1337, 420]
Master: [9001, 42, 69, 1337, 420, 99, 255]
Subset: [69, 9001, 1337]
Result: [42, 69, 9001, 1337, 420, 99, 255]
Master: [1, 2, 3, 4, 5]
Subset: [2, 5]
Result: [1, 2, 3, 4, 5]
Master: [apple, banana, carrot, duck, elephant]
Subset: [duck, apple]
Result: [banana, carrot, duck, apple, elephant]
Master: [Alice, Betty, Carol, Debbie, Elaine, Felicia, Georgia, Helen, Ilene, Julia]
Subset: [Betty, Felicia, Carol, Julia]
Result: [Alice, Betty, Debbie, Elaine, Felicia, Carol, Georgia, Helen, Ilene, Julia]
Master: [snake, lizard, frog, werewolf, vulture, dog, human]
Subset: [snake, werewolf, lizard, human, dog]
Result: [snake, frog, werewolf, lizard, vulture, human, dog]
Master: [Pete, Rob, Jeff, Stan, Chris, Doug, Reggie, Paul, Alex]
Subset: [Jeff, Stan, Pete, Paul]
Result: [Rob, Jeff, Stan, Pete, Chris, Doug, Reggie, Paul, Alex]
Master: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
Subset: [8, 1, 2, 12, 11, 10]
Result: [3, 4, 5, 6, 7, 8, 1, 2, 9, 12, 11, 10]
Master: [lol, rofl, lmao, roflmao, lqtm, smh, jk, wat]
Subset: [wat, lmao, rofl]
Result: [lol, roflmao, lqtm, smh, jk, wat, lmao, rofl]
kurallar
- Standart boşluklar, yadda yadda, uygun I / O, falan filan.
- Örnekler sayı ve dize kullansa da, tamsayı, dize veya dilinizde uygunsa heterojen listeler de dahil olmak üzere iyi tanımlanmış eşitlik anlambilimine sahip başka bir öğe olsun, yalnızca bir öğe türünü desteklemeniz gerekir.
- Hem ana listenin hem de alt küme listesinin kopya içermediğini varsayabilirsiniz.
- Alt küme listesinde bulunan tüm öğelerin ana listede bulunduğunu varsayabilirsiniz.
- Her iki liste de boş olabilir
- En az 100 eleman uzunluğunda dizileri desteklemelisiniz.
- Yeniden sıralama yerinde veya yeni bir liste / dizi oluşturularak uygulanabilir.
Mutlu Golf!
8 1 3 4 5 6 7 2 9 12 11 10
İkinci-sonuncu için geçerli bir çözüm mü ?