日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LeetCode 1817. 查找用户活跃分钟数(哈希)

發布時間:2024/7/5 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 的用戶執行操作的分鐘分別是:525 。因此,該用戶的用戶活躍分鐘數為 2(分鐘 5 只計數一次) ID=1 的用戶執行操作的分鐘分別是:23 。因此,該用戶的用戶活躍分鐘數為 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 的用戶執行操作的分鐘分別是:23 。因此,該用戶的用戶活躍分鐘數為 2 1 個用戶的用戶活躍分鐘數是 11 個用戶的用戶活躍分鐘數是 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, 操作時間集合>
class Solution { public:vector<int> findingUsersActiveMinutes(vector<vector<int>>& logs, int k) {unordered_map<int, unordered_set<int>> m; // 用戶id, 操作時間集合for(auto& log : logs){m[log[0]].insert(log[1]);}vector<int> ans(k);for(auto& mi : m){ans[mi.second.size()-1]++;}return ans;} };

280 ms 83.5 MB C++


我的CSDN博客地址 https://michael.blog.csdn.net/

長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!

總結

以上是生活随笔為你收集整理的LeetCode 1817. 查找用户活跃分钟数(哈希)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。