1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| class Solution { public int minAbsoluteDifference(List<Integer> nums, int x) { int minDiff = Integer.MAX_VALUE;
TreeSet<Integer> treeSet = new TreeSet<>(); for (int i = 0; i < nums.size() - x; i++) { int j = i + x; treeSet.add(nums.get(i));
int numJ = nums.get(j); Integer ceiling = treeSet.ceiling(numJ); Integer floor = treeSet.floor(numJ);
if (ceiling != null) { minDiff = Math.min(minDiff, ceiling - numJ); } if (floor != null) { minDiff = Math.min(minDiff, numJ - floor); } }
return minDiff; } }
|
References
2817. Minimum Absolute Difference Between Elements With Constraint