|
3 | 3 | * @param {number[][]} queries
|
4 | 4 | * @return {number[]}
|
5 | 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 |
| - |
| 6 | +const minDifference = function (nums, queries) { |
| 7 | + const res = [], |
| 8 | + cnt = Array.from({ length: nums.length + 1 }, () => Array(101).fill(0)) |
15 | 9 |
|
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); |
| 10 | + for (let i = 0; i < nums.length; ++i) { |
| 11 | + for (let j = 1; j <= 100; ++j) { |
| 12 | + cnt[i + 1][j] = cnt[i][j] + (nums[i] == j) |
24 | 13 | }
|
25 |
| - return res; |
26 |
| -}; |
| 14 | + } |
| 15 | + |
| 16 | + for (let i = 0; i < queries.length; ++i) { |
| 17 | + let prev = 0, |
| 18 | + delta = Infinity |
| 19 | + for (let j = 1; j <= 100; ++j) |
| 20 | + if (cnt[queries[i][1] + 1][j] - cnt[queries[i][0]][j]) { |
| 21 | + delta = Math.min(delta, prev == 0 ? Infinity : j - prev) |
| 22 | + prev = j |
| 23 | + } |
| 24 | + res.push(delta == Infinity ? -1 : delta) |
| 25 | + } |
| 26 | + return res |
| 27 | +} |
0 commit comments