2110. 股票平滑下跌阶段的数目

简介: 笔记

1. 题意


给定一个数组,连续一个或多个,满足 : (前一位比后一位大1)

a[i]=a[i−1]−1

求构成的段数


样例:3,2,1,4

输出:7

解释:[3], [2], [1], [4], [3,2], [2,1] 和 [3,2,1]


2. 算法


动态规划


3. 思路


定义 dp[i] ,表示以第 i 位结束的满足条件的段数。

则 dp[0] = 1 , 对于 i > 0, 分下列两种情况:

a[i] != a[i - 1] - 1


连续一个,dp[i] = 1

a[i] == a[i - 1] - 1


那么第 i - 1 天为结尾的段数可以与第 i 天继续构成平滑下跌段数。即,dp[i] = dp[i - 1] + 1


由于对 dp 数组的定义,最终答案就是每一位的 dp 之和,即每一位都作为结尾能够成的段数。

分析发现: dp[i] 只依赖于 dp[i - 1] , 所以可以用一个变量 len 来维护当前的 dp 值,一个变量 ans 来维护 dp 数组之和。


代码

class Solution {
public:
    long long getDescentPeriods(vector<int>& prices) {
        long long ans = 1, len = 1;
        for (int i = 1; i < prices.size(); i++) {
            len = prices[i] == prices[i - 1] - 1 ? len + 1 : 1;
            ans += len;
        }
        return ans;
    }
};
相关文章
|
Python
Python 金融量化 均线系统交易策略专题(简单移动平均,加权移动平均,指数加权移动平均,异同移动平均MACD等解读与绘图)
Python 金融量化 均线系统交易策略专题(简单移动平均,加权移动平均,指数加权移动平均,异同移动平均MACD等解读与绘图)
1118 0
Python 金融量化 均线系统交易策略专题(简单移动平均,加权移动平均,指数加权移动平均,异同移动平均MACD等解读与绘图)
|
2月前
均值回归策略在A股ETF市场获利的可能性
【9月更文挑战第24天】均值回归策略是一种量化交易方法,依据资产价格与平均价格的关系预测价格变动。在A股ETF市场中,该策略可能带来收益,但需考虑市场复杂性和不确定性。历史数据显示某些ETF具有均值回归特征,但未来表现不确定,投资者应结合技术与基本面分析,合理决策并控制风险。
|
6月前
|
算法 新能源 程序员
杭州个人小客车摇号百分之百中签率所需要的时间预测和阶梯摇号概率提升
杭州个人小客车摇号百分之百中签率所需要的时间预测和阶梯摇号概率提升
73 1
|
6月前
|
数据可视化 Python
R语言无套利区间模型期货期现研究:正向套利和反向套利次数、收益率分析华泰柏瑞300ETF可视化
R语言无套利区间模型期货期现研究:正向套利和反向套利次数、收益率分析华泰柏瑞300ETF可视化
|
6月前
R语言中进行期权定价的Heston随机波动率模型
R语言中进行期权定价的Heston随机波动率模型
|
6月前
|
算法 测试技术
Garch波动率预测的区制转移交易策略
Garch波动率预测的区制转移交易策略
|
6月前
R语言量化:合成波动率指数移动平均策略分析标准普尔500波动率指数(VIX)
R语言量化:合成波动率指数移动平均策略分析标准普尔500波动率指数(VIX)
|
6月前
|
Perl
R语言回测交易:根据历史信号/交易创建股票收益曲线
R语言回测交易:根据历史信号/交易创建股票收益曲线
|
6月前
多均线趋势策略玩转股票投资Programmatic trading
多均线趋势策略玩转股票投资Programmatic trading
|
机器学习/深度学习 算法
大模型如何实现对股票的未来走势预测?
这是一个很好的问题。目前,有很多方法可以预测股票价格,其中一种是使用机器学习算法来预测未来的股票价格。这些算法从平均和线性回归等简单的算法开始,然后转自动ARIMA和LSTM等高级技术。
655 0