付費限定

系統設計: 最近幾筆的來電紀錄_Leetcode 精選75題解析

閱讀時間約 5 分鐘

題目敘述

題目會給我們一個定義好的類別和function介面,要求我們實作建構子和ping() function來滿足指定的需求。


RecentCounter類別的建構子

建構子應該初始化來電紀錄,內容為空(零筆資料)


int ping(int t)

t代表來電時刻,單位是毫秒millisecond。

ping() function 應該維護[t-3000, t]區間內的來電紀錄,並且返回總共有幾筆來電落在[t-3000, t]這個區間內。

題目還保證每一次呼叫, t值會逐漸遞增。


題目的原文敘述


測試範例

Example 1:

Input
["RecentCounter", "ping", "ping", "ping", "ping"]
[[], [1], [100], [3001], [3002]]
Output
[null, 1, 2, 3, 3]

Explanation
RecentCounter recentCounter = new RecentCounter();
recentCounter.ping(1); // requests = [1], range is [-2999,1], return 1
recentCounter.ping(100); // requests = [1, 100], range is [-2900,100], return 2
recentCounter.ping(3001); // requests = [1, 100, 3001], range is [1,3001], return 3
recentCounter.ping(3002); // requests = [1, 100, 3001, 3002], range is [2,3002], return 3

約束條件

Constraints:

  • 1 <= t <= 10^9

t值介於1~10^9之間。

  • Each test case will call ping with strictly increasing values of t.

每次呼叫ping()時,t值會逐漸遞增。

  • At most 10^4 calls will be made to ping.

動態測試時,最多有10^4次 ping() function呼叫。


演算法

題目給了一個很強的條件,每次呼叫ping()時,t值會逐漸遞增。

另一方面,又要求維護[t-3000, t]區間內的來電紀錄,並且返回總共有幾筆來電落在[t-3000, t]這個區間內。

以行動支持創作者!付費即可解鎖
本篇內容共 2084 字、1 則留言,僅發佈於Leetcode精選75題 解析+統整你目前無法檢視以下內容,可能因為尚未登入,或沒有該房間的查看權限。
avatar-img
90會員
425內容數
由有業界實戰經驗的演算法工程師, 手把手教你建立解題的框架, 一步步寫出高效、清晰易懂的解題答案。 著重在讓讀者啟發思考、理解演算法,熟悉常見的演算法模板。 深入淺出地介紹題目背後所使用的演算法意義,融會貫通演算法與資料結構的應用。 在幾個經典的題目融入一道題目的多種解法,或者同一招解不同的題目,擴展廣度,並加深印象。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
題目敘述 題目會給定一個輸入字串s和一套編碼規則,要求我們針對字串s進行解碼,並且以字串的形式返回答案。 編碼規則: 數字[字串] -> []內的字串以對應倍數做展開,而且允許巢狀編碼。 例如: 3[a] 解碼完就是 aaa 2[bc] 解碼完就是 bcbc 2[a2[b]] = 2
題目敘述 題目會給定我們一個二維陣列,要求我們計算內部元素相同的column row pairs總共有多少條? 註: pair的定義就是row i 和 column j 彼此內部元素值都相同,這樣就算一條pair。 題目的原文敘述 測試範例 Example 1: Input: gr
題目敘述 題目會給定我們一個整數陣列asteroids,每個元素代表每顆星球的大小和飛行方向。 絕對值的部分越大,代表星球的大小越大。 若數值為正,代表星球向右飛。 若數值為負,代表星球向左飛。 當兩顆星球碰撞時,會有以下碰撞規則規定: 如果一顆比較大,另一顆比較小,則比較大的那棵
題目敘述 題目會給定我們兩個整數陣列作為輸入nums1, nums2,要求我們找出兩個陣列的差異值。 找出在nums1但是不在nums2的元素,以陣列的形式放在answer[0]輸出。 找出在nums2但是不在nums1的元素,以陣列的形式放在answer[1]輸出。 題目的原文敘述
題目敘述 題目會給我們一個整數陣列nums,要求我們計算平衡軸心點在哪? 平衡軸心的意思就是軸心點索引左側的元素總合 = 軸心點索引右側的元素總合 例如 整數陣列nums=[1,2,2,7,2,3] 7左側的元素總合為 1 + 2 + 2 = 5 7右側的元素總合為 2 + 3 = 5
題目敘述 假想一位自行車手正在公路旅行,旅行起始點從海拔為0的地方開始出發,給定每個紀錄點的高度位移向量陣列gain,請問整趟旅途中的海拔最高點是多少? 題目的原文敘述 測試範例 Example 1: Input: gain = [-5,1,5,0,-7] Output: 1 Expl
題目敘述 題目會給定一個輸入字串s和一套編碼規則,要求我們針對字串s進行解碼,並且以字串的形式返回答案。 編碼規則: 數字[字串] -> []內的字串以對應倍數做展開,而且允許巢狀編碼。 例如: 3[a] 解碼完就是 aaa 2[bc] 解碼完就是 bcbc 2[a2[b]] = 2
題目敘述 題目會給定我們一個二維陣列,要求我們計算內部元素相同的column row pairs總共有多少條? 註: pair的定義就是row i 和 column j 彼此內部元素值都相同,這樣就算一條pair。 題目的原文敘述 測試範例 Example 1: Input: gr
題目敘述 題目會給定我們一個整數陣列asteroids,每個元素代表每顆星球的大小和飛行方向。 絕對值的部分越大,代表星球的大小越大。 若數值為正,代表星球向右飛。 若數值為負,代表星球向左飛。 當兩顆星球碰撞時,會有以下碰撞規則規定: 如果一顆比較大,另一顆比較小,則比較大的那棵
題目敘述 題目會給定我們兩個整數陣列作為輸入nums1, nums2,要求我們找出兩個陣列的差異值。 找出在nums1但是不在nums2的元素,以陣列的形式放在answer[0]輸出。 找出在nums2但是不在nums1的元素,以陣列的形式放在answer[1]輸出。 題目的原文敘述
題目敘述 題目會給我們一個整數陣列nums,要求我們計算平衡軸心點在哪? 平衡軸心的意思就是軸心點索引左側的元素總合 = 軸心點索引右側的元素總合 例如 整數陣列nums=[1,2,2,7,2,3] 7左側的元素總合為 1 + 2 + 2 = 5 7右側的元素總合為 2 + 3 = 5
題目敘述 假想一位自行車手正在公路旅行,旅行起始點從海拔為0的地方開始出發,給定每個紀錄點的高度位移向量陣列gain,請問整趟旅途中的海拔最高點是多少? 題目的原文敘述 測試範例 Example 1: Input: gain = [-5,1,5,0,-7] Output: 1 Expl
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
在網路速度有限的情況下,依序記錄不斷產生的資訊,能統計使用者在頁面上操作了哪些功能。
Thumbnail
LeetCode 是一個程式語言版的線上題庫平臺,提供題目描述、程式碼區塊、解題者分享的解法和疑問討論。藉由這篇文章分享我在 LeetCode 上的使用經驗和觀點,包括刷題的重要性、解題心態和練習目標。
Thumbnail
Line:@mqy0772c (加入並私訊我!!) https://liff.line.me/1645278921-kWRPP32q/?accountId=mqy0772c
Thumbnail
大家好,好久沒更新,最近教學論命繁忙,這邊有所耽擱,真的抱歉。 最近也有跟設計師在討論要架官網,時間真的是不夠用了,因此方格子這邊我會先暫停一下,架好官網之後會將文章轉移到官網,至於會不會有收費文章,這邊我還再思考當中。 如果想看我最新的貼文,可以轉到我的社群上面去。目前是每周二晚上八點發放貼文
目前目標-過一面筆試 20240229至20240330完成 1.案例圖到底要怎麼寫 2.流程圖到底要怎麼寫 3.數據模型圖更新 4.把本機端的檔案上傳至github的master 5.更新履歷 6.投丟了70封履歷,獲得六個一面,兩個筆試沒過,一個無聲卡,兩個剛結束暫待二面消息。
Thumbnail
工作內容:根據公司目標開發客戶、蒐集潛在客戶名單;客戶關係經營與維護;基本 QA 應對、操作教學;合作客戶:合約上下架管理及後台操作;日常主管交付工作、銷售漏斗進度追蹤;與部門夥伴協作,完成不同的專案。
Thumbnail
利用總機每日外線通話紀錄所產出之紀錄檔案,一筆一筆抓出,並加以判斷是否異常,若有意常發生,將擷取該筆異常資料明細出力之,並email給相關管理者
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
在網路速度有限的情況下,依序記錄不斷產生的資訊,能統計使用者在頁面上操作了哪些功能。
Thumbnail
LeetCode 是一個程式語言版的線上題庫平臺,提供題目描述、程式碼區塊、解題者分享的解法和疑問討論。藉由這篇文章分享我在 LeetCode 上的使用經驗和觀點,包括刷題的重要性、解題心態和練習目標。
Thumbnail
Line:@mqy0772c (加入並私訊我!!) https://liff.line.me/1645278921-kWRPP32q/?accountId=mqy0772c
Thumbnail
大家好,好久沒更新,最近教學論命繁忙,這邊有所耽擱,真的抱歉。 最近也有跟設計師在討論要架官網,時間真的是不夠用了,因此方格子這邊我會先暫停一下,架好官網之後會將文章轉移到官網,至於會不會有收費文章,這邊我還再思考當中。 如果想看我最新的貼文,可以轉到我的社群上面去。目前是每周二晚上八點發放貼文
目前目標-過一面筆試 20240229至20240330完成 1.案例圖到底要怎麼寫 2.流程圖到底要怎麼寫 3.數據模型圖更新 4.把本機端的檔案上傳至github的master 5.更新履歷 6.投丟了70封履歷,獲得六個一面,兩個筆試沒過,一個無聲卡,兩個剛結束暫待二面消息。
Thumbnail
工作內容:根據公司目標開發客戶、蒐集潛在客戶名單;客戶關係經營與維護;基本 QA 應對、操作教學;合作客戶:合約上下架管理及後台操作;日常主管交付工作、銷售漏斗進度追蹤;與部門夥伴協作,完成不同的專案。
Thumbnail
利用總機每日外線通話紀錄所產出之紀錄檔案,一筆一筆抓出,並加以判斷是否異常,若有意常發生,將擷取該筆異常資料明細出力之,並email給相關管理者