CSES - Kolmas lista

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));
    }
}