Ale co to znaczy czy prawidłowe
? Czy zadziała? Tak. Czy to optymalne rozwiązanie? Nie.
To co opisałeś używa bubble sort wiec masz finalnie O((n+k)^2)
złożoności. Nawet jakbyś sortował lepiej to masz O((n+k)*log(n+k))
bo sortujesz cały zbiór.
Gdybyś zbudował TreeSet ze zbioru A a następnie dodawał elementy ze zbioru B to miałbyś średnio O(n*logn)+O(k*logn(n+k/2))
czyli trochę mniej.
Gdyby zakres danych w zbiorach A i B był mały, to można by zbudować HashSet w O(n)
a potem złączyć ze zbiorem B w O(k) i na koniec posortować to co zostało, bo wtedy możemy oczekiwać że rozmiar sumy zbiorów jest zblizony do rozmiaru większego z nich, czyli wszystko wykona się w O(nlogn)
albo O(klogk)