![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
动态规划
动态规划
千叶真尹
这个作者很懒,什么都没留下…
展开
-
动态规划-关于dp[i]含义的一点心得
关于dp[i]的含义,目前接触到的有两种: 第一种: dp[i]表示以索引i结尾的最大值,这种情况包含的结果内必须是i是最后一个元素,包括下标i之前的最大连续子序列和为dp[i]。 举例:leetcode53. 最大子数组和 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 示例 1: 输入:nums = [-2,1,-3,4,-1,2,1,-5,4] 输出:6 解释:连续子数组[4,-1,2,1.原创 2022-03-11 15:46:11 · 874 阅读 · 0 评论 -
leetcode剑指 Offer 10- I. 斐波那契数列
写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下: F(0) = 0,F(1)= 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 1. 斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 示例 1: 输入:n = 2 输出:1 示例 2: 输入:n = 5 输出...原创 2022-01-25 20:08:06 · 186 阅读 · 0 评论 -
leetcode动态规划338比特位计数
给你一个整数 n ,对于0 <= i <= n 中的每个 i ,计算其二进制表示中 1 的个数 ,返回一个长度为 n + 1 的数组 ans 作为答案。 示例 1: 输入:n = 2 输出:[0,1,1] 解释: 0 --> 0 1 --> 1 2 --> 10 本题是动态规划的题,但是并没有使用动态规划的方法去做。其中有用到位运算相关的知识。 贴一个别人的思路: 对于所有的数字,只有两类: 奇数:二进制表示中,奇数一定比前面那个偶数多一个 1,因为多的就是最.原创 2021-11-23 19:43:24 · 51 阅读 · 0 评论 -
leetcode数组53最大子序和
给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例 1: 输入:nums = [-2,1,-3,4,-1,2,1,-5,4] 输出:6 解释:连续子数组[4,-1,2,1] 的和最大,为6 。 示例 2: 输入:nums = [1] 输出:1 思路:使用动态规划的方法,假设自己是后一个数,判断上次和是否是大于0,如果大于0,说明加上去对自己是有益的,可以加上去,如果上次和是小于0的,说明加上去之后反而会让自己变得更小,对自己是不利的。(...原创 2021-11-22 11:46:27 · 56 阅读 · 0 评论 -
leetcode动态规划121买卖股票的时机
给定一个数组 prices ,它的第i 个元素prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。 示例 1: 输入:[7,1,5,3,6,4] 输出:5 解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利...原创 2021-11-22 19:35:41 · 50 阅读 · 0 评论 -
leetcode动态规划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 阶 思路:动态规划题目,爬到第n阶的路线数和爬到n-1和爬到n-2阶的路...原创 2021-11-22 15:08:57 · 197 阅读 · 0 评论