当前位置: 代码网 > it编程>软件设计>算法 > 今日补题 + 刷题(为了leetcode的时间复杂度分析怒冲365)(leetcode篇)

今日补题 + 刷题(为了leetcode的时间复杂度分析怒冲365)(leetcode篇)

2024年07月28日 算法 我要评论
先把两个边界加到数组里面,但是我们要注意,边界也是可以取的所以lower-1,upper+1,然后再把重复的数删除一下,然后再进行排序,然后从第1个索引开始遍历,把遍历的结果加到ans里面,返回ans。该题需要知道最后的结果只有两种可能,要么是+要么是+-,所以我们就找这两个的最大值,每次向后都要找到这个位置的最大值。leetcode3115(每日一题)leetcode163(会员题)时间复杂度:O(nlogn)时间复杂度:O(N)空间复杂度:O(N)空间复杂度:O(n)

leetcode3115(每日一题)

3115. 质数的最大距离 - 力扣(leetcode)

时间复杂度o(n)

空间复杂度o(1)

先把1-100中的质数选出来,然后双指针i,j左右指针寻找mi,ma也就是最大索引和最小索引,最后返回最大减最小。

class solution:
    def maximumprimedifference(self, nums: list[int]) -> int:
        sushu = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
        sushu = set(sushu)
        i,j = 0,len(nums) - 1
        mi = ma = -1
        while i <= j:
            if nums[i] in sushu:
                mi = i
            else:
                i += 1
            if nums[j] in sushu:
                ma = j
            else:
                j -= 1
            if mi != -1 and ma != -1:
                break
        return ma - mi

leetcode3196(周赛403)

3196. 最大化子数组的总成本 - 力扣(leetcode)

该题需要知道最后的结果只有两种可能,要么是+要么是+-,所以我们就找这两个的最大值,每次向后都要找到这个位置的最大值。

时间复杂度:o(n)

空间复杂度:o(n)

class solution:
    def maximumtotalcost(self, nums: list[int]) -> int:
        n = len(nums)
        f = [0] * (n + 1)
        f[1] = nums[0]
        for i in range(1, n):
            f[i + 1] = max(f[i] + nums[i], f[i - 1] + nums[i - 1] - nums[i])
        return f[n]

leetcode163(会员题)

163. 缺失的区间 - 力扣(leetcode)

要做这道题

时间复杂度:o(nlogn)

空间复杂度:o(n)

class solution:
    def findmissingranges(self, nums: [int], lower: int, upper: int) -> [str]:
        ans = []
        nums.append(lower - 1)
        nums.append(upper + 1)
        nums = list(set(nums))
        nums.sort()
        for i in range(1,len(nums)):
            if nums[i] - nums[i - 1] > 1:
                ans.append([nums[i - 1] + 1,nums[i] - 1])
        return ans

先把两个边界加到数组里面,但是我们要注意,边界也是可以取的所以lower-1,upper+1,然后再把重复的数删除一下,然后再进行排序,然后从第1个索引开始遍历,把遍历的结果加到ans里面,返回ans。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com