Hej, jestem początkujący w algorytmach... mam takie zadanie, do tej pory napisałem taki kod
class Sprawdzanie {
public static boolean check(String s1, String s2){
char[] x = s1.toCharArray();
char[] y = s2.toCharArray();
for (int i = 0; i < x.length; i++) {
int count = 0;
if (count > 2)
{
if (x[i] == y[i])
{
continue;
}
else if (x[i] != y[i])
{
count += 1;
}
}
break;
}
return false;
}
public static void main(String[] args) {
System.out.println(check("AABBCC", "ACBBCA"));
}
}
Niestety mi nie działa, a algorytm wydaje mi się, że mam dobry, tutaj polecenie
Mając dany łańcuch można zamienić w nim dwa dowolne znaki miejscami,
na przykład łańcuch „AABBCC” można zamienić na „ACBBCA”, a ten z kolei na przykład na „BCBACA”.
Napisz program, który będzie posiadał funkcję:
bool changePossible(string s1, string s2)
która sprawdzi, czy możliwe jest uzyskanie łańcucha s2 z łańcucha białkowego s1, należy zadbać o
dobrą wydajność algorytmu.
Każdy z łańcuchów jest zapisany w osobnej linii i porównujemy
łańcuch z linii nieparzystej z łańcuchem z linii parzystej. Przykładowy plik:
ACBBCA
BCBACA
Można założyć, że liczba linii będzie zawsze parzysta.
łańcuchy:
BDDFPQPPRRAGGHPOPDKJKPEQAAER
BDDFPQPFRRAGGHPOPDKJKPEQAAER
BDDFPQPFRRAGCHPOPDKJKPEQAAER
BDDFPQPFRRAGGHPOPDKJKPEQAAER
AABBCC
ACBBCA
BCBACA
ACBBCA
AABBCC
BCBACA
BCBACA
AABBCCC
AABBCC
AABBCC
ABBBCC
AABCCC