docs: public static int[][] getTop(LinearSparseVector sv, float thres) {
  		int[] idx = sort(sv);
  		int i;
  		float total = 0;
  		float[] cp = new float[idx.length];
  		for (i = idx.length; i-- > 0;) {
  			cp[i] = (float) Math.pow(sv.get(idx[i]), 2);
  			total += cp[i];
  		}
  
  		float ratio = 0;
  		for (i = 0; i < idx.length; i++) {
  			ratio += cp[i] / total;
  			if (ratio > thres)
  				break;
  		}
  		int[][] a = new int[2][];
  		a[0] = Arrays.copyOfRange(idx, 0, i);
  		a[1] = Arrays.copyOfRange(idx, i, idx.length);
  		return a;
  	}