2026/3/5 16:25:39
网站建设
项目流程
做网站注册商标哪一类,安徽公司招聘网站,做网站需要字体切换,网站制作哪个公司好给你一个整数数组 prices #xff0c;表示一支股票的历史每日股价#xff0c;其中 prices[i] 是这支股票第 i 天的价格。
一个 平滑下降的阶段 定义为#xff1a;对于 连续一天或者多天 #xff0c;每日股价都比 前一日股价恰好少 1 #xff0c;这个阶段第一天的股价没有…给你一个整数数组prices表示一支股票的历史每日股价其中prices[i]是这支股票第i天的价格。一个平滑下降的阶段定义为对于连续一天或者多天每日股价都比前一日股价恰好少1这个阶段第一天的股价没有限制。请你返回平滑下降阶段的数目。示例 1输入prices [3,2,1,4]输出7解释总共有 7 个平滑下降阶段 [3], [2], [1], [4], [3,2], [2,1] 和 [3,2,1] 注意仅一天按照定义也是平滑下降阶段。示例 2输入prices [8,6,7,7]输出4解释总共有 4 个连续平滑下降阶段[8], [6], [7] 和 [7] 由于 8 - 6 ≠ 1 所以 [8,6] 不是平滑下降阶段。示例 3输入prices [1]输出1解释总共有 1 个平滑下降阶段[1]提示1 prices.length 10^51 prices[i] 10^5分析遍历 prices 数组比较当前的 price 比上一个 price 是否小 1如果是说明是平滑下降对应的平滑下降长度 len 增加 1否则记录一个平滑下降的区间此时答案增加 (len1)*len/2.long long getDescentPeriods(int* prices, int pricesSize) { long long ans0; int tempprices[0],len1; for(int i1;ipricesSize;i) { if(prices[i]temp-1)len; else ans1LL*(len1)*len/2LL,len1; tempprices[i]; } ans1LL*(len1)*len/2LL,len1; return ans; }