5356.矩陣中的幸運數
完全拼手速的題目,數據量不大,即使O(n^3)也能解決
5357. 設計一個支持增量操作的棧
讀題認真,也是沒有難度的一道題目,基本上維護一個數組就可以,稍微留意下邊界處理。
5179. 將二叉搜索樹變平衡
利用中序遍歷獲得二叉搜索樹的有序數組,然後採用分治解決即可,實現上對全局變量掌握不好,需要改進下。
5359. 最大的團隊表現值
對題目分析之後,以爲dp,然後設計了三維狀態,在賦值的時候消耗了調了很久,最後調通的時候提交提示超時。再仔細分析題目的時候,才意識到時貪心。
class Solution(object):
def maxPerformance(self, n, speed, efficiency, k):
"""
:type n: int
:type speed: List[int]
:type efficiency: List[int]
:type k: int
:rtype: int
"""
mod = 1000000007
data = list(zip(efficiency, speed))
data.sort(reverse=True)
h = []
res, tmp = 0,0
for e, s in data:
heapq.heappush(h, s)
tmp += s
if len(h) > k:
tmp -= heapq.heappop(h)
res = max(res, tmp * e)
return res % (mod)
總結
最近leetcode的周賽題目越來越簡單,希望能夠冷靜分析題目,提高手速。
另外,針對這次解題中,python的基礎知識也需要再仔細學習下。