LeetCode contest180

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的基礎知識也需要再仔細學習下。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章