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