Sinulle annetaan kaksi listaa A ja B, joissa molemmissa on lukujen 1 \dots n permutaatio ja jokaisessa kohdassa A[ i] \neq B[ i].
Tehtäväsi on muodostaa kolmas lista C, jossa myös on lukujen 1 \dots n permutaatio ja jokaisessa kohdassa A[ i] \neq C[ i] ja B[ i] \neq C[ i].
Esimerkiksi kun A=[1,3,2,4] ja B=[4,1,3,2], yksi mahdollinen ratkaisu on C=[3,2,4,1].
Voit olettaa, että 3 \le n \le 10^5. Voit muodostaa minkä tahansa kelvollisen ratkaisun. Tavoitteena on, että algoritmin aikavaativuus on O(n).
Python
Toteuta tiedostoon thirdlist.py
funktio create
, joka muodostaa listan.
def create(a,b): # TODO if __name__ == "__main__": a = [1,3,2,4] b = [4,1,3,2] c = create(a,b) print(c)
Java
Toteuta tiedostoon ThirdList.java
metodi create
, joka muodostaa listan.
public class ThirdList { public int[] create(int[] a, int[] b) { // TODO } public static void main(String[] args) { ThirdList t = new ThirdList(); int[] a = {1,3,2,4}; int[] b = {4,1,3,2}; int[] c = t.create(a,b); System.out.println(Arrays.toString(c)); } }