fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static void main (String[] args) throws java.lang.Exception
  11. {
  12. System.out.println(Arrays.toString(rank(new double[] {1,3,2,2,33,1})));
  13. System.out.println(Arrays.toString(rank(new double[] {1,10,3,44,5,2,5})));
  14. }
  15.  
  16. public static int[] rank(double[] nums)
  17. {
  18. Integer[] idx = new Integer[nums.length];
  19. for(int i=0; i<idx.length; i++) idx[i] = i;
  20. Arrays.sort(idx, (a, b) -> (Double.compare(nums[a], nums[b])));
  21.  
  22. int[] rank = new int[nums.length];
  23. for(int i=0, j=1; i<idx.length; i++)
  24. {
  25. rank[idx[i]] = j;
  26. if(i < idx.length - 1 && nums[idx[i]] != nums[idx[i+1]]) j++;
  27. }
  28. return rank;
  29. }
  30.  
  31. }
Success #stdin #stdout 0.07s 33208KB
stdin
Standard input is empty
stdout
[1, 3, 2, 2, 4, 1]
[1, 5, 3, 6, 4, 2, 4]