leetcode 2110

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

示例 1 的 prices=[3,2,1,4],按照子数组的右端点下标分组,有这些连续递减子数组:

  • 右端点 i=0:[3]
  • 右端点 i=1:[3,2],[2]
  • 右端点 i=2:[3,2,1],[2,1],[1]
  • 右端点 i=3:[4]

思路:在遍历 prices 的同时,统计当前这段连续递减的长度 last_d。

复制代码
long long ans = 1;   // 第一个元素自己算一个
  • 1 <= prices.length <= 10^5

    class Solution {
    public:
    long long getDescentPeriods(vector<int>& prices) {
    int n=prices.size(),last_d=1; // 当前连续平滑段长度(≥1)
    long long ans=1;
    for(int i=1;i<n;i++){
    if(prices[i-1]-prices[i]==1) last_d++;
    else last_d=1;
    ans+=last_d;
    }

    复制代码
          return ans;
      }

    };

相关推荐
海清河晏1113 小时前
数据结构 | 单循环链表
数据结构·算法·链表
wuweijianlove7 小时前
算法性能的渐近与非渐近行为对比的技术4
算法
_dindong7 小时前
cf1091div2 C.Grid Covering(数论)
c++·算法
AI成长日志7 小时前
【Agentic RL】1.1 什么是Agentic RL:从传统RL到智能体学习
人工智能·学习·算法
黎阳之光8 小时前
黎阳之光:视频孪生领跑者,铸就中国数字科技全球竞争力
大数据·人工智能·算法·安全·数字孪生
skywalker_118 小时前
力扣hot100-3(最长连续序列),4(移动零)
数据结构·算法·leetcode
6Hzlia8 小时前
【Hot 100 刷题计划】 LeetCode 17. 电话号码的字母组合 | C++ 回溯算法经典模板
c++·算法·leetcode
wfbcg8 小时前
每日算法练习:LeetCode 209. 长度最小的子数组 ✅
算法·leetcode·职场和发展
_日拱一卒8 小时前
LeetCode:除了自身以外数组的乘积
数据结构·算法·leetcode
计算机安禾8 小时前
【数据结构与算法】第36篇:排序大总结:稳定性、时间复杂度与适用场景
c语言·数据结构·c++·算法·链表·线性回归·visual studio