LeetCode 2747. 统计没有收到请求的服务器数目 C#
原题链接
中等
作者:
hpstory
,
2023-06-27 15:55:32
,
所有人可见
,
阅读 91
C# 代码
public class Solution {
public int[] CountServers(int n, int[][] logs, int x, int[] queries) {
int m = queries.Length;
int[] index = Enumerable.Range(0, m).ToArray();
int[] result = new int[m];
Array.Sort(logs, (x, y) => x[1] - y[1]);
Array.Sort(index, (x, y) => queries[x] - queries[y]);
int left = 0, right = 0, ans = n;
int[] count = new int[n + 1];
foreach (int i in index){
int query = queries[i];
while (right < logs.Length && logs[right][1] <= query){
if (count[logs[right++][0]]++ == 0) ans--;
}
while (left < logs.Length && logs[left][1] < query - x){
if (--count[logs[left++][0]] == 0) ans++;
}
result[i] = ans;
}
return result;
}
}