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;
      }

    };

相关推荐
akarinnnn几秒前
深入理解内存函数:原理、应用与优化
c语言·网络·数据结构·算法
一行代码一行诗++9 分钟前
for循环中的break和continue
数据结构·算法
Tisfy12 分钟前
LeetCode 3043.最长公共前缀的长度:哈希表(不转string)
算法·leetcode·散列表·题解·哈希表
代码中介商13 分钟前
排序算法完全指南(三):插入排序深度详解
算法·排序算法
承渊政道17 分钟前
【贪心算法】(经典实战应用解析(六):整数替换、俄罗斯套娃信封问题、可被三整除的最⼤和、距离相等的条形码、重构字符串)
c++·算法·leetcode·贪心算法·排序算法·动态规划·哈希算法
WL_Aurora20 分钟前
Python 算法基础篇之排序算法(二):希尔、快速、归并
python·算法·排序算法
闻缺陷则喜何志丹26 分钟前
【图论 树 启发式合并】P7165 [COCI2020-2021#1] Papričice|普及+
c++·算法·启发式算法·图论··洛谷
alexwang21127 分钟前
AT_abc458_d [ABC458D] Chalkboard Median题解
c++·算法·题解·atcoder
故事和你9128 分钟前
洛谷-【图论2-4】连通性问题1
开发语言·数据结构·c++·算法·动态规划·图论
周末也要写八哥37 分钟前
算法实例分析:使数组相等的最小开销
算法