Lassen Sie uns sagen, ich habe zwei Arrays:
('n','v','a','n','i','n','n','v','a','n')
('a','n','n','n','v','a','n','v','n')
Und ich möchte alle die passenden Sequenzen zwischen den beiden (vielleicht über zwei Zellen lang oder so), die nicht Unter sind finden Übereinstimmungen mit anderen längeren Übereinstimmungen. Hier ist, was ich als matches:
('n','n','v','a','n')
= Position 5 in der Anordnung 1 und die Position 3 in der Matrix 2
Array 1: ('n', 'V', 'a', 'n', 'i ''n', 'n', 'V', 'a', 'n')
Array 2: ('a', 'n', 'n', 'n',' v‘, 'a', 'n', 'V', 'n')
Beispiel 2
Hierhaben wir mehr als eine Sequenz, aber sie sind kürzer, wie folgt:
('a','n','i','n')
= Position 2 in arraay 1 und die Position 0 in der Matrix 2
('v','i','n')
= Position 7 in der Anordnung 1 und die Position 5 in der Matrix 2
Array 1: ('n', 'v', 'a', 'n', 'i', 'n', 'a', 'V', 'i', 'n')
Array 2: ('a', 'n', 'i', 'n', 'p', 'v', 'i', 'n', 'v', 'n')
Zusammenfassung
Es gibt mehr als einen Treffer in beiden Beispielen, aber sie alle existieren innerhalb der größeren Spiele in mindestens eines der Arrays.
Also was ist der effizienteste (eine Balance aus wenig Speicher und hoher Geschwindigkeit, denke mobile Geräte) Code, der dies erreichen könnte? JavaScript-Codebeispiele wären großartig!
Wenn Sie meine Frage nicht verstehen oder es klarer gemacht werden könnte, bitte Kommentar! Nicht nur abstimmen! – Matthew
Bitte poste deinen Versuch ... Was hast du probiert? – brso05
@ brso05 Ich habe noch keinen Code gemacht ... Ich habe nur einige zufällige Dinge in meinem Kopf, die schwer in Worte zu fassen oder zu programmieren wären. Entschuldigung, ich habe nicht viel mehr zu zeigen/sagen! – Matthew