1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| class Solution { public int[] colorTheArray(int n, int[][] queries) { int[] res = new int[queries.length], nums = new int[n + 1]; int count = 0, idx = 0; for (int[] query : queries) { int index = query[0], color = query[1]; if (nums[index] > 0) { if (index > 0 && nums[index] == nums[index - 1]) --count; if (index < n && nums[index] == nums[index + 1]) --count; } nums[index] = color; if (index > 0 && nums[index] == nums[index - 1]) ++count; if (index < n && nums[index] == nums[index + 1]) ++count; res[idx++] = count; } return res; } }
|