首页 > 其他分享 >代码随想录Day24 | LeetCode 122. 买卖股票的最佳时机 II、LeetCode 55. 跳跃游戏、LeetCode 45. 跳跃游戏 II、LeetCode 1005. K 次取反后

代码随想录Day24 | LeetCode 122. 买卖股票的最佳时机 II、LeetCode 55. 跳跃游戏、LeetCode 45. 跳跃游戏 II、LeetCode 1005. K 次取反后

时间:2024-10-12 23:21:56浏览次数:6  
标签:return nums int II 跳跃 curr LeetCode

LeetCode 122. 买卖股票的最佳时机 II

class Solution:
    def maxProfit(self, prices: List[int]) -> int:
        res = 0
        for i in range(1, len(prices)):
            res += max(0, prices[i] - prices[i - 1])
        return res

LeetCode 55. 跳跃游戏

class Solution:
    def canJump(self, nums: List[int]) -> bool:
        n = len(nums)
        curr = cover = 0
        while curr <= cover:
            cover = max(cover, curr + nums[curr])
            if cover >= n - 1:
                return True
            curr += 1
        return False
class Solution:
    def canJump(self, nums: List[int]) -> bool:
        n = len(nums)
        if n == 1:
            return True
        precover = curr = cover = 0
        while curr <= cover:
            precover = cover
            for i in range(curr, cover + 1):
                if cover < i + nums[i]:
                    cover = i + nums[i]
                    curr = i
            if cover >= n - 1:
                return True
            if precover == cover:
                return False
        return False

LeetCode 45. 跳跃游戏 II

class Solution:
    def jump(self, nums: List[int]) -> int:
        n = len(nums)
        if n == 1:
            return 0
        res = 1
        curr = cover = 0
        while curr <= cover:
            for i in range(curr, cover + 1):
                if cover < i + nums[i]:
                    cover = i + nums[i]
                    curr = i
            if cover >= n - 1:
                return res
            res += 1

LeetCode 1005. K 次取反后最大化的数组和

class Solution:
    def largestSumAfterKNegations(self, nums: List[int], k: int) -> int:
        n = len(nums)
        nums.sort(key = lambda x: abs(x), reverse = True)
        idx = 0
        while k > 0 and idx < n:
            if nums[idx] <= 0:
                nums[idx] = - nums[idx]
                k -= 1
            idx += 1
        if k % 2 == 1:
            nums[-1] *= -1
        return sum(nums)

标签:return,nums,int,II,跳跃,curr,LeetCode
From: https://www.cnblogs.com/li508q/p/18461688

相关文章

  • RAII - std智能指针
    std智能指针智能指针的选择标准在类中使用智能指针作为成员变量。需要根据实际情况(主要是看所有权)原始指针:所有权:该资源对象不属于我,使用前提:资源对象被释放前,我理应必然已经被释放。否则会存在风险。unique_ptr:所有权:该对象仅仅属于我。被管理的资源对象的生......
  • Leetcode 贪心算法之 Container With Most Water
    题目描述给定一个长度为n的整数数组height。有n条垂线,第i条线的两个端点是(i,0)和(i,height[i])。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。示例:输入:[1,8,6,2,5,4,8,3,7]输......
  • Leetcode 贪心算法之Jump Game II
    题目描述给定一个长度为n的0索引整数数组nums。初始位置为nums[0]。每个元素nums[i]表示从索引i向前跳转的最大长度。换句话说,如果你在nums[i]处,你可以跳转到任意nums[i+j]处:0<=j<=nums[i]i+j<n返回到达nums[n-1]的最小跳跃次数。生成的......
  • 力扣数据库1174. 即时食物配送 II
    一、数据配送表: Delivery+-----------------------------+---------+|ColumnName|Type|+-----------------------------+---------+|delivery_id|int||customer_id|int||order_date......
  • 454_四数相加Ii
    454_四数相加Ii【问题描述】给你四个整数数组nums1、nums2、nums3和nums4,数组长度都是n,请你计算有多少个元组(i,j,k,l)能满足:0<=i,j,k,l<nnums1[i]+nums2[j]+nums3[k]+nums4[l]==0示例一:输入:nums1=[1,2],nums2=[-2,-1],nums3=[-1,2......
  • 【JavaScript】LeetCode:61-65
    文章目录61课程表62实现Trie(前缀树)63全排列64子集65电话号码的字母组合61课程表Map+BFS拓扑排序:将有向无环图转为线性顺序。遍历prerequisites:1.数组记录每个节点的入度,2.哈希表记录依赖关系。n=6,prerequisites=[[3,0],[3,1],[4,1],[4,2],[5,3],[5,4]]。0、1......
  • leetcode 179. Largest Number
    179.LargestNumber要比较拼接以后谁应该放在前面,先试着把他们拼起来就行了然后因为正着拼和反着拼,长度一致,所以自带的string比较函数会严格比较他们的大小关系,不会因为字符串长度而误判boolcmp(constint&a,constint&b);classSolution{public:std::string......
  • 454_四数相加Ii
    454_四数相加Ii【问题描述】给你四个整数数组nums1、nums2、nums3和nums4,数组长度都是n,请你计算有多少个元组(i,j,k,l)能满足:0<=i,j,k,l<nnums1[i]+nums2[j]+nums3[k]+nums4[l]==0示例一:输入:nums1=[1,2],nums2=[-2,-1],nums3=[-1,2......
  • 代码随想录训练营第五天|Leetcode.349,Leetcode.454,Leetcode19,Leetcode18
    一、哈希表和set和map和数组的关系 用哈希表,判断是否出现过。数值很大或者数值很分散时,不用数组,占用空间大,用set。set,multiset数组的大小是受限制的,而且如果元素很少,而哈希值太大会造成内存空间的浪费。set是一个集合,里面放的元素只能是一个key,而两数之和这道题目,不仅要判......
  • Leetcode 1192. 查找集群内的关键连接
    1.题目基本信息1.1.题目描述力扣数据中心有n台服务器,分别按从0到n-1的方式进行了编号。它们之间以服务器到服务器的形式相互连接组成了一个内部集群,连接是无向的。用connections表示集群网络,connections[i]=[a,b]表示服务器a和b之间形成连接。任何服务器都可......