eine Referenzfolge X angegeben und mainstring Y, den Prozentsatz X zählen, die leider nicht in der Y. auftreten Bedeutung: zB
X = ABCD
undY = ABCDABRR
dann haben wir den Prozentsatz 2/8 = 0,25, weil die 2RRs nicht mitABCD = X
und einem weiteren Beispiel,X = ABCD, Y = ABCDABRD
, dann 1/8 ausgerichtet wurden.Count das Verhältnis von nicht passenden Buchstaben
public static void main(String[] args) {
String mainS = "ABCDEABCDERRCRR";
String ref = "ABCDE";
double fails = 0; //count the fails.
double len = mainS.length(); //length of main String.
for(int i = 0; i < len; i++){
String charAti = mainS.substring(i, i+1);
if(ref.contains(charAti)){
//PASS
} else{
++fails;
}
}
double ratio = fails/len;
System.out.println("Failure ratio is: " + ratio);
}
Dies funktioniert, glaube ich O(N)
, aber kann ich schneller?
Warum ist die Antwort 2/8? – square1001
@ square1001, Hauptstring hatte 8 Zeichen und $ RR $ wurde nicht ausgerichtet, also rate ich, warum? – Amad27
@ Amad27 Ich denke, die Zeichenfolge "ABCDABRR" enthält "ABCD" nur 1 mal, so denke ich, die Antwort ist 1/5. – square1001