CSES - Indeksit

Annettuna on lista, jonka jokainen alkio on eri kokonaisluku. Tehtäväsi on ilmoittaa listan indeksit järjestyksessä niitä vastaavien alkioiden mukaan pienimmästä suurimpaan.

Esimerkiksi kun lista on [4,2,1,3], niin indeksit halutussa järjestyksessä ovat [2,1,3,0]. Esimerkiksi tuloksena olevan listan ensimmäinen alkio 2, koska listan pienin luku 1 on indeksissä 2.

Listan jokainen alkio on kokonaisluku välillä 1 \dots 10^9 ja listalla on enintään 10^5 alkiota.

Python

Toteuta tiedostoon sortindices.py funktio get, joka palauttaa indeksit halutussa järjestyksessä.

def get(t):
    # TODO

if __name__ == "__main__":
    print(get([1,2,4,3])) # [0,1,3,2]
    print(get([4,2,1,3])) # [2,1,3,0]
    print(get([6,2,8,5,3])) # [1,4,3,0,2]

Java

Toteuta tiedostoon SortIndices.java metodi get, joka palauttaa indeksit halutussa järjestyksessä.

import java.util.*;

public class SortIndices {
    public int[] get(int[] t) {
        // TODO
    }

    public static void main(String[] args) {
        SortIndices s = new SortIndices();
        System.out.println(Arrays.toString(s.get(new int[] {1,2,4,3}))); // [0,1,3,2]
        System.out.println(Arrays.toString(s.get(new int[] {4,2,1,3}))); // [2,1,3,0]
        System.out.println(Arrays.toString(s.get(new int[] {6,2,8,5,3}))); // [1,4,3,0,2]
    }
}