由买买提看人间百态

topics

全部话题 - 话题: getrange
(共0页)
D*******r
发帖数: 2323
1
它的解法是在头尾两端各加一个lower - 1和upper + 1的element,以此来简化edge
cases的处理。
public List findMissingRanges( int[] vals, int start, int end) {
List ranges = new ArrayList<>();
int prev = start - 1;
for (int i = 0; i <= vals.length; i++) {
int curr = (i == vals.length) ? end + 1 : vals[i];
if (curr - prev >= 2) {
ranges.add(getRange(prev + 1, curr - 1));
}
prev = curr;
}
return ranges;
}
private String getRange( int from, int to) {
return (from == to)... 阅读全帖
(共0页)