解题思路
将所有的分数用数组的形式存储在list当中,然后对list进行自定义排序,比较每个对的值,按照升序排序即可
代码
class Solution {
public int[] kthSmallestPrimeFraction(int[] arr, int k) {
int times = 0;
List<int[]> list = new ArrayList<>();
for (int i=0;i<arr.length-1;i++){
for (int j=arr.length-1;j>i;j--){
int[] ans = new int[2];
ans[0] = arr[i];
ans[1] = arr[j];
list.add(ans);
}
}
Collections.sort(list, new Comparator<int[]>() {
@Override
public int compare(int[] o1, int[] o2) {
if ((double)o1[0]/(double)o1[1] > (double)o2[0]/(double)o2[1]){
return 1;
}
return -1;
}
});
return list.get(k-1);
}
}