鬼神
@Aidan79225
130Friends 16Fans
Karma4.87
male 信義區, Taiwan
鬼神
9 months ago @Edit 9 months ago
https://leetcode.com/...

需要使用pq, double linked list,
remove時使用dancing link 並且記錄在invalid set,
從pq取出時檢查是否valid即可
鬼神
9 months ago
https://leetcode.com/...

先把所有字元cnt後丟入max heap, 每一輪從heap取出前k個出現頻率最高的字元依照順序塞入答案
鬼神
9 months ago
https://leetcode.com/...

看起來似乎與subarray相關就是要用2 points 搭配set或dict來解, 概念基本上都差不多
鬼神
9 months ago
https://leetcode.com/...

解法可用來算出不符合條件的invalid_cnt
https://leetcode.com/...

subarray總共有sm = n*(n+1)//2, 所以答案就是sm - invalid_cnt
鬼神
9 months ago
好累 晚安
鬼神
9 months ago
https://leetcode.com/...

使用2 points + cnt來算
鬼神
9 months ago @Edit 9 months ago
https://leetcode.com/...

建Trie, TrieNode要額外用set來存有多少str經過此點, 然後全局要記times的cnt, 遇到'#'時要更新Trie
鬼神
9 months ago @Edit 9 months ago
https://leetcode.com/...

end記最尾端cur記目前乘積,start更新時如果cur>=k就把end往前推進並更新cur,然後加總,目標就是對每個idx (start)向左找出最長subarray
鬼神
9 months ago
https://images.plurk.com/7E8nrCNqC5Uic3M01jnf2i.jpg
鬼神
9 months ago 2
https://leetcode.com/...

從nums[0]開始歸位成nums[i] = i, 之後找到第一個nums[i] != i就是答案