fork download
  1. extension Array where Element: Comparable {
  2. func sortedIndex() -> [Int] {
  3. //enumerated().map {($1, $0)}.sorted(by: <).map {$1}
  4. return enumerated().map {($1, $0)}.sorted(by: <).map {$1}
  5. }
  6. }
  7. func f<T: Comparable>(_ a: [T]) -> [Int] {
  8. //a.sortedIndex().sortedIndex()
  9. return a.sortedIndex().sortedIndex()
  10. }
  11. func g<T: Comparable>(_ a: [T]) {
  12. print(f(a));
  13. }
  14. g([1,100,10,10000,1000])
  15. g([3,1,4,1,5,9,2])
  16. g([0,1,0,1,0,1,0,1])
  17. g(["A","C","B","E","D"])
  18.  
Success #stdin #stdout 0.01s 8368KB
stdin
Standard input is empty
stdout
[0, 2, 1, 4, 3]
[3, 0, 4, 1, 5, 6, 2]
[0, 4, 1, 5, 2, 6, 3, 7]
[0, 2, 1, 4, 3]