LeetCode笔记:Biweekly Contest 93

Posted Espresso Macchiato

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode笔记:Biweekly Contest 93相关的知识,希望对你有一定的参考价值。

1. 题目一

给出题目一的试题链接如下:

1. 解题思路

这一题按照题意翻译一下,然后找出最大值就行了。

2. 代码实现

给出python代码实现如下:

class Solution:
    def maximumValue(self, strs: List[str]) -> int:
        def fn(s):
            try:
                return int(s)
            except:
                return len(s)
        return max(fn(s) for s in strs)

提交代码评测得到:耗时42ms,占用内存13.8MB。

2. 题目二

给出题目二的试题链接如下:

1. 解题思路

这一题同样就是基本按照题目翻译一下就行。

我们找到每一个点作为中心时其邻接的最大的k个正值点,作为找到的星图,然后计算其最大值即可。

2. 代码实现

给出python代码实现如下:

class Solution:
    def maxStarSum(self, vals: List[int], edges: List[List[int]], k: int) -> int:
        if k == 0:
            return max(vals)
        graph = defaultdict(list)
        for u, v in edges:
            heapq.heappush(graph[u], -vals[v])
            heapq.heappush(graph[v], -vals[u])
        res = -math.inf
        for u, val in enumerate(vals):
            s = val
            q = graph[u]
            for _ in range(k):
                if q == []:
                    break
                v = -heapq.heappop(q)
                if v <= 0:
                    break
                s += v
            res = max(res, s)
        return res

提交代码评测得到:耗时2788ms,占用内存59.4MB。

3. 题目三

给出题目三的试题链接如下:

1. 解题思路

这一题说来惭愧,做算是做出来了,但是完整的理论证明倒是没想得很明白,只是直觉地感觉必须是间隔走个来回这样。

感觉用反证法应该可以说明这个问题,不过体谅下病号吧,既然通过了全部测试样例应该就没啥太大问题了,就不细想了……

2. 代码实现

给出python代码实现如下:

class Solution:
    def maxJump(self, stones: List[int]) -> int:
        n = len(stones)
        s1 = max([0] + [stones[i+2] - stones[i] for i in range(0, n-2, 2)])
        s2 = max([0] + [stones[i+2] - stones[i] for i in range(1, n-2, 2)])
        return max(s1, s2, stones[1]-stones[0], stones[-1]-stones[-2])

提交代码评测得到:耗时708ms,占用内存28.6MB。

4. 题目四

给出题目四的试题链接如下:

这一题实在是没啥思路,放弃了……

以上是关于LeetCode笔记:Biweekly Contest 93的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode笔记:Biweekly Contest 79

LeetCode笔记:Biweekly Contest 93

LeetCode笔记:Biweekly Contest 89

LeetCode笔记:Biweekly Contest 69

LeetCode笔记:Biweekly Contest 74

LeetCode笔记:Biweekly Contest 96