Bei einer gegebenen Liste von Listen finden Sie die kürzeste Liste, die eine zusammenhängende Unterliste von genau einer Liste ist.
Zum Beispiel, wenn wir hatten
[[1,2,3],
[1,2,3,4],
[2,4,5,6],
[1,2,4,5,6]]
Die kürzeste zusammenhängende Unterliste wäre, [3,4]
da sie nur in der zweiten Liste erscheint.
Wenn es keine eindeutige zusammenhängende Unterliste gibt (dies erfordert mindestens einen doppelten Eintrag), geben Sie eine leere Liste aus. Hier ist ein Beispiel
[[1,2,3],
[1,2,3],
[1,2]]
Wenn mehrere zusammenhängende Unterlisten von minimaler Größe vorhanden sind, können Sie eine beliebige oder eine alle enthaltende Liste ausgeben. Zum Beispiel, wenn die Eingabe war
[[1,2,3],[2],[1],[3]]
Sie könnten Ausgang entweder [1,2]
, [2,3]
oder [[1,2],[2,3]]
. Wenn Sie die letztere Option wählen, können Sie Singleton-Listen für die Fälle ausgeben, in denen es nur eine Lösung gibt.
Die Ausgabe kann in derselben Liste mehrmals vorkommen, solange sie in keiner anderen Liste enthalten ist. Beispielsweise
[[1,2,1,2],[2,1]]
sollte ausgegeben werden, [1,2]
weil [1,2]
es sich um eine Unterliste der ersten Liste handelt, aber nicht um die zweite, obwohl es sich auf zwei verschiedene Arten um eine Unterliste der ersten Liste handelt.
Als Eingabe können Sie eine Liste von Listen verwenden, die einen beliebigen Typ enthalten, sofern dieser Typ mehr als 100 mögliche Werte aufweist, dh keine Booleschen Werte.
Dies ist Codegolf, daher werden die Antworten in Bytes bewertet, wobei weniger Bytes besser sind.
Testfälle
[[1,1]] : [1]
[[1],[1]] : []
[[1,1],[1]] : [1,1]