动态规划专场
Gnomeshgh9
Special
展开
-
05-动态规划专项-力扣第70题
70. 爬楼梯 问题描述: 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 示例2: 输入: 3 输出: 3 解释: 有三种方法可以爬到楼顶。 1. 1 阶 + 1 阶 + 1 阶 2. 1 阶 + 2 阶 3. 2 阶 + 1 阶 思路: 这算是一个入门级别的动态规划问题了,是斐波那原创 2021-08-04 18:19:17 · 79 阅读 · 0 评论 -
04-动态规划专项-力扣第55题
55 跳跃游戏 问题描述: 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 示例1: 输入:nums = [2,3,1,1,4] 输出:true 解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。 示例2: 输入:nums = [3,2,1,0,4] 输出:false 解释:无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远原创 2021-08-03 09:48:49 · 94 阅读 · 0 评论 -
03-动态规划专项-力扣第53题
最大子序和 问题描述 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例1: 输入:nums = [-2,1,-3,4,-1,2,1,-5,4] 输出:6 解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。 示例2: 输入:nums = [1] 输出:1 示例3: 输入:nums = [0] 输出:0 示例4: 输入:nums = [-1] 输出:-1 示例5: 输入:nums = [-100000] 输出:-100000 思路:原创 2021-08-03 09:27:58 · 99 阅读 · 0 评论 -
02-动态规划专项-力扣第45题
45 跳跃游戏 II 题目描述 给你一个非负整数数组 nums ,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 假设你总是可以到达数组的最后一个位置。 示例1: 输入: nums = [2,3,1,1,4] 输出: 2 解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。 示例2: 输入: nums = [2,3,0,1,4]原创 2021-08-01 10:06:16 · 146 阅读 · 0 评论 -
01-动态规划专项-力扣第五题
最长回文子串 问题描述: 给你一个字符串 s,找到 s 中最长的回文子串。 示例1: 输入:s = "babad" 输出:"bab" 解释:"aba" 同样是符合题意的答案。 示例2: 输入:s = "cbbd" 输出:"bb" 示例3: 输入:s = "a" 输出:"a" 示例4: 输入:s = "ac" 输出:"a" 思路: 既然是动态规划专场,这里就只介绍动态规划的思路。 回文串有先天性的转移特性,如果一个字符串是回文串,那么它去掉首位的子串也是一个回文串,当然需要这个回文串长度严格大于2原创 2021-07-31 16:21:18 · 87 阅读 · 0 评论