358. Rearrange String k Distance Apart
題目網址:https://leetcode.cn/problems/rearrange-string-k-distance-apart/
題意:給一 string
s
和一整數k
, 重新排列s
使得相同 char 位置間隔距離至少為k
。若無法做到, 則返回""
。
Solution:
想法:利用 Greedy 和 Heap, 類似 621. Task Scheduler 和 767. Reorganize String, 要相同 char 之間距離為
k
, 可想成是若每一輪能取出不同k
個 char, 則每一輪相同 char 之間距離一定≥ k
, 要記得考慮不滿k
個 char 的情況
class Solution { |
- time:$O(n \cdot log(n))$ ➔ 每次 heap 取出元素後, 需花 $O(log(n))$ 調整 heap, 總共取
n
次 - space:$O(n)$ ➔
q
中的元素不超過n
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 Zako's Blog!
評論