方法:模拟
class Solution {
public int[] smallestTrimmedNumbers(String[] nums, int[][] queries) {
String[] old = Arrays.copyOfRange(nums, 0, nums.length);
int len = nums[0].length();
int[] ans = new int[queries.length];
int start = 0;
for (int[] q : queries) {
int k = q[0];
int t = q[1];
String[][] arr = new String[nums.length][2];
for (int i = 0; i < nums.length; i++) {
arr[i][0] = nums[i].substring(len - t);
arr[i][1] = String.valueOf(i);
}
Arrays.sort(arr, (a, b) -> {
if (!a[0].equals(b[0])) {
return a[0].compareTo(b[0]);
} else {
return Integer.compare(Integer.parseInt(a[1]), Integer.parseInt(b[1]));
//return a[1].compareTo(b[1]);×
}
});
//Arrays.sort(arr, (a, b) -> !a[0].equals(b[0]) ? a[0].compareTo(b[0]) : a[1].compareTo(b[1]));×
// Arrays.sort(arr, (a, b) -> !a[0].equals(b[0]) ? a[0].compareTo(b[0]) : Integer.compare(Integer.parseInt(a[1]), Integer.parseInt(b[1])));
ans[start++] = Integer.parseInt(arr[k - 1][1]);
nums = old;
}
return ans;
}
}