
动态规划
李硕`丹诗尔顿
石坠可雕琢,虽美及相克。一页实则会,锁恐千秋坠。 石页不修边,一页请逃越,遂一页
20180827石坠千秋落,相克怎雕琢。一页实则许,恐至终难归。
展开
-
c# leetcode 139. 单词拆分(动态规划)
139. 单词拆分难度中等367收藏分享切换为英文关注反馈给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。 说明: 拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 示例 1: 输入: s = "leetcode", wordDict = ["leet", "code"] 输出: true...原创 2020-04-02 15:58:17 · 284 阅读 · 0 评论 -
c# leetcode 121. 买卖股票的最佳时机 (动态规划)
给定一个数组,它的第i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。 注意你不能在买入股票前卖出股票。 示例 1: 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 ...原创 2020-03-12 22:10:01 · 196 阅读 · 0 评论 -
c# leetcode 322. 零钱兑换(贪心+dfs剪枝)
给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1。 示例1: 输入: coins = [1, 2, 5], amount = 11 输出: 3 解释: 11 = 5 + 5 + 1 示例 2: 输入: coins = [2], amount = 3 输出: -1 ...原创 2020-03-08 20:42:18 · 401 阅读 · 0 评论 -
c# leetcode 32 最长有效括号(动态规划)
给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。 示例1: 输入: "(()" 输出: 2 解释: 最长有效括号子串为 "()" 示例 2: 输入: ")()())" 输出: 4 解释: 最长有效括号子串为 "()()" 原理: 创建一个标记数组,默认值全部为-1; 遇到右括号,向前匹配左括号,找到则将右括号标记为2,左括号标记为0 最后找...原创 2019-12-25 16:30:10 · 152 阅读 · 0 评论 -
c# leetcode 152. 乘积最大子序列(DP)
给定一个整数数组 nums,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。 示例 1: 输入: [2,3,-2,4] 输出: 6 解释:子数组 [2,3] 有最大乘积 6。 示例 2: 输入: [-2,0,-1] 输出: 0 解释:结果不能为 2, 因为 [-2,-1] 不是子数组。 这是我写的程序: 但是 [-2,3,-4] 结果怎么是 24 而不是3呢...原创 2019-12-22 16:14:37 · 179 阅读 · 0 评论