![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
mmmmmmonica
走呀走呀走远了
展开
-
26.动态规划-打家劫舍-Leetcode 198(python)
题目描述你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 示例 1:输入: [1,2,3,1]输出: 4解释: 偷窃 1 号房屋 (金额...原创 2018-11-25 21:24:17 · 390 阅读 · 0 评论 -
29.动态规划-三角形最小路径和-Leetcode 120(python)
问题描述及示例给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。例如,给定三角形:[ [2], [3,4], [6,5,7], [4,1,8,3]]自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。说明:如果你可以只使用 O(n) 的额外空间(n 为三角形的总行数)来解决这个问题,那么你的...原创 2018-11-29 16:28:26 · 697 阅读 · 0 评论 -
30.动态规划-单词拆分-Leetcode 139(python)
问题描述给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。示例示例 1:输入: s = "leetcode", wordDict = ["leet", "code"]输出: true解释: 返回 true 因为 "lee...原创 2018-11-29 17:36:21 · 1198 阅读 · 0 评论 -
27.动态规划-区域与检索(数组不可变)-Leetcode 303(python)
题目描述给定一个整数数组 nums,求出数组从索引 i 到 j (i ≤ j) 范围内元素的总和,包含 i, j 两点。示例给定 nums = [-2, 0, 3, -5, 2, -1],求和函数为 sumRange()sumRange(0, 2) -> 1sumRange(2, 5) -> -1sumRange(0, 5) -> -3说明:你可以...原创 2018-11-26 20:44:46 · 433 阅读 · 2 评论 -
28.动态规划-使用最小花费爬楼梯-Leetcode 746(python)
题目描述数组的每个索引做为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 cost[i](索引从0开始)。每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。示例示例 1:输入: cost = [10, 15, 20]输出: 15解释:...原创 2018-11-26 21:38:48 · 304 阅读 · 1 评论 -
32.动态规划-打家劫舍II-Leetcode 213(python)
题目描述你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例示例 1:输入: [2,3,2]输...原创 2018-12-05 08:49:43 · 598 阅读 · 0 评论 -
33.动态规划-最大正方形-Leetcode 221(python)
题目描述在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。示例输入: 1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出: 4解决思路参考网友大神:如果我们能够判断一个点是正方形右下角的点的话,那么肯定可以确定它的左边、上边和左上三个点,分别都是某个正方形的右下角的点。关于边长:以当前点为右下角的正方...原创 2018-12-05 09:56:50 · 1957 阅读 · 0 评论 -
31.动态规划-乘积最大子序列-Leetcode 152(python)
题目描述给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。示例示例 1:输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。自己的错误思路自以为抄了足够多的动态规划的题了,怎么着也应该...原创 2018-12-03 11:07:04 · 1085 阅读 · 0 评论 -
60-下一个排列-LeetCode31(python)
题目描述实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。示例以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,1思路参照官方题解的思路。(1)首先从...原创 2019-07-23 16:12:36 · 161 阅读 · 0 评论