Skip to content

Commit ca573fc

Browse files
authored
Update minimum-absolute-difference-queries.cpp
1 parent da600b4 commit ca573fc

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

C++/minimum-absolute-difference-queries.cpp

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,13 @@ class Solution {
1414
for (const auto& query : queries) {
1515
int min_diff = INF, prev = -1;
1616
for (int num = 0; num < size(prefix[0]); ++num) {
17-
if (prefix[query[0]][num] < prefix[query[1] + 1][num]) {
18-
if (prev != -1) {
19-
min_diff = min(min_diff, num - prev);
20-
}
21-
prev = num;
17+
if (!(prefix[query[0]][num] < prefix[query[1] + 1][num])) {
18+
continue;
2219
}
20+
if (prev != -1) {
21+
min_diff = min(min_diff, num - prev);
22+
}
23+
prev = num;
2324
}
2425
result.emplace_back((min_diff != INF) ? min_diff : -1);
2526
}
@@ -42,12 +43,13 @@ class Solution2 {
4243
int min_diff = INF, prev = -1;
4344
for (int num = 0; num < size(idxs); ++num) {
4445
const auto cit = lower_bound(cbegin(idxs[num]), cend(idxs[num]), query[0]);
45-
if (cit != cend(idxs[num]) && *cit <= query[1]) {
46-
if (prev != -1) {
47-
min_diff = min(min_diff, num - prev);
48-
}
49-
prev = num;
46+
if (!(cit != cend(idxs[num]) && *cit <= query[1])) {
47+
continue;
48+
}
49+
if (prev != -1) {
50+
min_diff = min(min_diff, num - prev);
5051
}
52+
prev = num;
5153
}
5254
result.emplace_back((min_diff != INF) ? min_diff : -1);
5355
}

0 commit comments

Comments
 (0)