DP
文章平均质量分 59
keep moving 123
这个作者很懒,什么都没留下…
展开
-
338. 比特位计数(python3)
题目:力扣 给你一个整数 n ,对于0 <= i <= n 中的每个 i ,计算其二进制表示中 1 的个数 ,返回一个长度为 n + 1 的数组 ans 作为答案。 示例 1: 输入:n = 2 输出:[0,1,1] 解释: 0 --> 0 1 --> 1 2 --> 10 示例 2: 输入:n = 5 输出:[0,1,1,2,1,2] 解释: 0 --> 0 1 --> 1 2 --> 10 3 --> 11 4 --> 100 5.原创 2021-11-03 15:02:09 · 148 阅读 · 0 评论 -
139. 单词拆分(python3)
题目:https://leetcode-cn.com/problems/word-break/ 给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定s 是否可以被空格拆分为一个或多个在字典中出现的单词。 说明: 拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 示例 1: 输入: s = "leetcode", wordDict = ["leet", "code"] 输出: true 解释: 返回 true 因为 "leetcode" 可以被拆分成 "leet.原创 2021-01-19 19:26:03 · 770 阅读 · 0 评论 -
5. 最长回文子串(python3)
题目:https://leetcode-cn.com/problems/longest-palindromic-substring/ 给你一个字符串 s,找到 s 中最长的回文子串。 示例 1: 输入:s = "babad" 输出:"bab" 解释:"aba" 同样是符合题意的答案。 示例 2: 输入:s = "cbbd" 输出:"bb" 示例 3: 输入:s = "a" 输出:"a" 示例 4: 输入:s = "ac" 输出:"a" 提示: 1 <= s.length &l..原创 2021-01-17 14:03:39 · 362 阅读 · 1 评论 -
152. 乘积最大子数组(python3)
题目:https://leetcode-cn.com/problems/maximum-product-subarray/ 给你一个整数数组 nums,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 示例 1: 输入: [2,3,-2,4] 输出: 6 解释:子数组 [2,3] 有最大乘积 6。 示例 2: 输入: [-2,0,-1] 输出: 0 解释:结果不能为 2, 因为 [-2,-1] 不是子数组。 解题思路: 这道题乍看上...原创 2021-01-17 10:46:30 · 488 阅读 · 0 评论 -
120. 三角形最小路径和(python3)
题目:https://leetcode-cn.com/problems/triangle/ 给定一个三角形 triangle ,找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。也就是说,如果正位于当前行的下标 i ,那么下一步可以移动到下一行的下标 i 或 i + 1 。 示例 1: 输入:triangle = [[2],[3,4],[6,5,7],[4,1,8,3]] 输出.原创 2021-01-15 11:32:35 · 299 阅读 · 2 评论 -
91. 解码方法(python3)
题目:https://leetcode-cn.com/problems/decode-ways/ 一条包含字母A-Z 的消息通过以下映射进行了 编码 : 'A' -> 1 'B' -> 2 ... 'Z' -> 26 要 解码 已编码的消息,所有数字必须基于上述映射的方法,反向映射回字母(可能有多种方法)。例如,"111" 可以将 "1" 中的每个 "1" 映射为 "A" ,从而得到 "AAA" ,或者可以将 "11" 和 "1"(分别为 "K" 和 "A" )映射为 "KA" 。注.原创 2021-01-13 16:34:34 · 155 阅读 · 0 评论 -
64. 最小路径和(python3)
题目:https://leetcode-cn.com/problems/minimum-path-sum/ 给定一个包含非负整数的 mxn网格grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 示例 1: 输入:grid = [[1,3,1],[1,5,1],[4,2,1]] 输出:7 解释:因为路径 1→3→1→1→1 的总和最小。 示例 2: 输入:grid = [[1,2,3],[4,5,6]] 输出:12 ...原创 2021-01-08 09:57:20 · 157 阅读 · 0 评论 -
63. 不同路径 II(python3)
题目: 解题思路: 62题动态规划的延伸,62题解题详见:https://blog.csdn.net/anningne/article/details/112284336 转移方程为 if(obstacleGrid[i - 1][j] == 1 and obstacleGrid[i][j - 1] == 1): dp[i][j] = 0 elif(obstacleGrid[i - 1][j] == 1): dp[i][j] = dp[i][j - 1] elif(obs..原创 2021-01-07 19:02:03 · 142 阅读 · 0 评论 -
62. 不同路径(python3)
题目:https://leetcode-cn.com/problems/unique-paths/ 一个机器人位于一个 m x n网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径? 示例 1: 输入:m = 3, n = 7 输出:28 示例 2: 输入:m = 3, n = 2 输出:3 解释: 从左上角开始,总共有 3 条路径可以到达右下角。 ..原创 2021-01-06 17:11:50 · 128 阅读 · 0 评论 -
198. 打家劫舍(python3)
题目:https://leetcode-cn.com/problems/house-robber/ 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。 示例 1: 输入:[1,2,3,1] 输出:4 解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 .原创 2020-12-29 11:13:43 · 54 阅读 · 0 评论 -
121. 买卖股票的最佳时机(python3)
题目:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/ 给定一个数组,它的第i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。 注意:你不能在买入股票前卖出股票。 示例 1: 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,..原创 2020-12-29 10:46:00 · 167 阅读 · 0 评论 -
70. 爬楼梯(python3)
题目:https://leetcode-cn.com/problems/climbing-stairs/ 假设你正在爬楼梯。需要 n阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 示例 2: 输入: 3 输出: 3 解释: 有三种方法可以爬到楼顶。 1. 1 阶 + 1 阶 + 1 阶 2. 1 阶 +...原创 2020-12-28 16:20:57 · 296 阅读 · 0 评论 -
53. 最大子序和(python3)
题目:https://leetcode-cn.com/problems/maximum-subarray/ 给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释:连续子数组[4,-1,2,1] 的和最大,为6。 进阶: 如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。 解题思路: 这道题只需要记录最大和,不需要记录移动轨迹,所以用...原创 2020-12-25 14:47:30 · 270 阅读 · 2 评论