Angenommen S
und T
sind Strings jeweils wie folgt definiert:Wie man etwas wie "setze Schnittmenge" und "setze Vereinigung" mit Clojure (Script) Saiten nachahmen?
;; S
A
B
C
;; T
B
C
D
dort sind analog clojure (Skript) Operationen string-intersection
und string-union
(in Ermangelung eines besseren Namen), die die folgenden Merkmale erfüllen?
(string-intersection S T)
;; =>
;; B
;; C
und
(string-union S T)
;; =>
;; A
;; B
;; C
;; D
Wie Sie sehen können, string-intersection
beseitigen würde (auf einer Zeile-für-Zeile-Basis) nicht passenden Linien (so dass nur die Zeilen, die zusammenpassen), während string-union
das hat Effekt der Kombination von Linien und Ignorieren von Duplikaten.
HINWEIS: Ich benutze Clojurescript, aber ich stelle mir vor, die Antwort würde verallgemeinern, um auch zu clojure.
Sie sollten in der Lage sein, beide Funktionen in den meisten Sprachen zu implementieren, indem Sie beide Zeichenfolgen in Zeilen aufteilen, sie anordnen (wenn sie nicht geordnet sind) und zusammenführen. Die Zusammenführungsstrategie unterscheidet sich nur für die beiden Funktionen. – maraca