题解
模拟:
- 用map存,map的key存用户id,value存该用户的操作的time列表(去重,可以用set)
- 统计res,遍历map,map的value为 该用户的操作时间list,用这个list的size 放到相应的res数组里(注意res的下标从1开始,所以要size-1放)
class Solution {
public int[] findingUsersActiveMinutes(int[][] logs, int k) {
int[] res = new int[k];
Map<Integer, Set<Integer>> map = new HashMap<>();
for (int[] log : logs) {
int id = log[0];
int time = log[1];
Set<Integer> set = map.get(id);
if (Objects.isNull(set)) {
set = new HashSet<>();
}
set.add(time);
map.put(id, set);
}
for (Map.Entry<Integer, Set<Integer>> entry : map.entrySet()) {
Set<Integer> value = entry.getValue();
res[value.size()-1]++;
}
return res;
}
}
标签:map,1817,set,int,res,用户,value,查找,id
From: https://www.cnblogs.com/eiffelzero/p/17062754.html