LeetCode 🟡 3185. Count Pairs That Form a Complete Day II
🔗 🟡 3185. Count Pairs That Form a Complete Day II 1385
tags: Weekly Contest 402
雜湊表(Hash Table)
模運算(Modulo)
題意
給定一個整數陣列 。返回有多少對 滿足 且 為 的整數倍數。
約束條件
思路:雜湊表(Hash Table) + 模運算(Modulo)
從 3184. Count Pairs That Form a Complete Day I [🔗解題紀錄] 的暴力法中可以注意到,我們在考慮到 時,只需要知道 左側 的數字中有多少個數字 滿足 。這樣我們就可以在 的時間內計算出答案。
因此可以使用類似於 1. Two Sum 的方法,使用 雜湊表(Hash Table) 來記錄每個數字的出現次數,然後對於每個數字 ,我們只需要查詢 的出現次數即可。
但需要注意到存在一種特殊情況,即 的情況,此時 ,可以使用 特判 或 二次取模 的方式來處理。
具體步驟如下:
- 建立一個大小為 的陣列 來記錄每個數字對 取模後的出現次數。
- 遍歷 陣列,對於每個元素 :
- 計算 (也就是小時數對 取餘)
- 如果 不為 ,則將 加到答案 上(因為 時, 和 就是一對);如果 為 ,則將 加到答案 上。
- 或是做二次取模,將 加到答案 上。
- 將 加 ,更新計數。
- 最後返回答案 。
複雜度分析
- 時間複雜度: ,其中 為陣列的長度。
- 空間複雜度: 。
1 | class Solution: |
1 | class Solution { |
寫在最後
PROMPT
Mystical Moonlight Encounter: A young anime girl, dressed in a black cape and witch hat, holds a pumpkin with an intense gaze. Standing before a large window framing a moonlit night sky, her focus is riveted on the pumpkin. To her left, a vibrant yellow pumpkin sits atop a straw bale amidst autumn leaves, adding a burst of warmth to the enchanting scene.
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 十六個天亮!
評論
WalineGiscus