Skip to content

Commit d3e5f08

Browse files
authored
Create 1906-minimum-absolute-difference-queries.js
1 parent 8e64eb4 commit d3e5f08

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/**
2+
* @param {number[]} nums
3+
* @param {number[][]} queries
4+
* @return {number[]}
5+
*/
6+
const minDifference = function(nums, queries) {
7+
const res = [], cnt = Array.from({ length: nums.length + 1 }, () => Array(101).fill(0))
8+
9+
for (let i = 0; i < nums.length; ++i) {
10+
for (let j = 1; j <= 100; ++j) {
11+
cnt[i + 1][j] = cnt[i][j] + (nums[i] == j);
12+
}
13+
}
14+
15+
16+
for (let i = 0; i < queries.length; ++i) {
17+
let prev = 0, delta = Infinity;
18+
for (let j = 1; j <= 100; ++j)
19+
if (cnt[queries[i][1] + 1][j] - cnt[queries[i][0]][j]) {
20+
delta = Math.min(delta, prev == 0 ? Infinity : j - prev);
21+
prev = j;
22+
}
23+
res.push(delta == Infinity ? -1 : delta);
24+
}
25+
return res;
26+
};

0 commit comments

Comments
 (0)