Inspiriert von dieser wunderbaren Herausforderung (basierend auf der Anzahl der Ansichten und Stimmen), die meiner bescheidenen Meinung nach viel zu wenige Antworten hat.
Geben Sie (mit allen Mitteln) eine Liste von Zeichenfolgen zurück, und geben Sie (mit allen Mitteln) eine Reihe von Buchstaben zurück, die, wenn sie aus den angegebenen Zeichenfolgen entfernt werden, die Gesamtlänge der Zeichenfolgen (die verbleibenden Zeichenfolgen) so gering wie möglich halten Zeichenfolge eindeutig und mindestens ein Zeichen lang.
Beispiele:
Gegeben "Tag" und "Tag"; "ay" zurückgeben, da die angegebenen Zeichenfolgen "D" und "d" sind, wenn die Zeichen "ay" entfernt werden.
Gegeben "Hallo Welt!", "Hallo Welt." Und "Hallo Welt"; return "Helo Wrd" gibt an, dass die Zeichenfolgen "!", "w." und "w" lauten, wenn die Zeichen "Helo Wrd" (mit einem Leerzeichen) entfernt werden.
Angesichts von "Jahrhundert", "Jahrzehnt", "Jahr", "Monat", "Woche", "Tag", "Stunde", "Minute" und "Sekunde"; "centurdowi" zurückgeben, da die angegebenen Wörter "y", "a", "ya", "mh", "k", "ay", "h", "m", "s" sind, wenn die Zeichen "centurdowi" sind " werden entfernt.
Die Reihenfolge und das Format des zurückgegebenen Sets sind nicht wichtig.
Antworten:
Haskell,
138-130BytesAnwendungsbeispiel:
f ["century", "decade", "year", "month", "week", "day", "hour", "minute", "second"]
->"centurdoki"
.Dies ist ein Brute-Force-Ansatz.
Edit: @Seeq hat mir geholfen, 8 Bytes zu sparen. Vielen Dank!
quelle
map(#s)
, damit Sie nicht drehen müssennotElem
? EDIT: Oder konntest du es nicht einfach einbinden?map(#s)
,(#)
müssen definiert werdenflip (filter . flip notElem)
. Aber natürlich ist das Inlining viel kürzer. Vielen Dank!Pyth, 34
Übernimmt Eingaben im Format
["century", "decade", "year", "month", "week", "day", "hour", "minute", "second"]
. Golftipps sind wie immer willkommen.quelle
Pyth, 24 Bytes
Probieren Sie es online aus. Testsuite.
Beachten Sie, dass der letzte Testfall einige Zeit in Anspruch nimmt.
Nimmt Eingaben in Array-Form wie
["Day", "day"]
.Ein anderes interessantes, das ich gefunden und isaacg verbessert habe (auch 24 Bytes):
quelle
-J{sQhlDsM.A#f{ITm-RdQyJ
hier