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] } }