LeetCode 1817. 查找用户活跃分钟数(哈希)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 1817. 查找用户活跃分钟数(哈希)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 題目
- 2. 解題
1. 題目
給你用戶在 LeetCode 的操作日志,和一個整數 k 。
日志用一個二維整數數組 logs 表示,其中每個 logs[i] = [IDi, timei] 表示 ID 為 IDi 的用戶在 timei 分鐘時執行了某個操作。
多個用戶 可以同時執行操作,單個用戶可以在同一分鐘內執行 多個操作 。
指定用戶的 用戶活躍分鐘數(user active minutes,UAM) 定義為用戶對 LeetCode 執行操作的 唯一分鐘數 。
即使一分鐘內執行多個操作,也只能按一分鐘計數。
請你統計用戶活躍分鐘數的分布情況,統計結果是一個長度為 k 且 下標從 1 開始計數 的數組 answer ,對于每個 j(1 <= j <= k),answer[j] 表示 用戶活躍分鐘數 等于 j 的用戶數。
返回上面描述的答案數組 answer 。
示例 1: 輸入:logs = [[0,5],[1,2],[0,2],[0,5],[1,3]], k = 5 輸出:[0,2,0,0,0] 解釋: ID=0 的用戶執行操作的分鐘分別是:5 、2 和 5 。因此,該用戶的用戶活躍分鐘數為 2(分鐘 5 只計數一次) ID=1 的用戶執行操作的分鐘分別是:2 和 3 。因此,該用戶的用戶活躍分鐘數為 2 2 個用戶的用戶活躍分鐘數都是 2 ,answer[2] 為 2 ,其余 answer[j] 的值都是 0示例 2: 輸入:logs = [[1,1],[2,2],[2,3]], k = 4 輸出:[1,1,0,0] 解釋: ID=1 的用戶僅在分鐘 1 執行單個操作。因此,該用戶的用戶活躍分鐘數為 1 ID=2 的用戶執行操作的分鐘分別是:2 和 3 。因此,該用戶的用戶活躍分鐘數為 2 1 個用戶的用戶活躍分鐘數是 1 ,1 個用戶的用戶活躍分鐘數是 2 因此,answer[1] = 1 ,answer[2] = 1 ,其余的值都是 0提示: 1 <= logs.length <= 10^4 0 <= IDi <= 10^9 1 <= timei <= 10^5 k 的取值范圍是 [用戶的最大用戶活躍分鐘數, 10^5]https://leetcode-cn.com/contest/weekly-contest-235/problems/finding-the-users-active-minutes/
2. 解題
- 哈希 unordered_map<int, unordered_set<int>> 記錄 <用戶id, 操作時間集合>
280 ms 83.5 MB C++
我的CSDN博客地址 https://michael.blog.csdn.net/
長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!
總結
以上是生活随笔為你收集整理的LeetCode 1817. 查找用户活跃分钟数(哈希)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 天池 在线编程 卡牌游戏(01背包)
- 下一篇: LeetCode 2011. 执行操作后