# 2110. Number of Smooth Descent Periods of a Stock
###### tags: `Leetcode` `Medium`
Link: https://leetcode.com/problems/number-of-smooth-descent-periods-of-a-stock/description/
## 思路
One pass
每次找到以当前元素为首的descent sequence 假设这个seq的长度是```n``` 那么这个seq里面所有数字能构成的smooth descent periods数量就是```(1+n)*n/2```
下一个遍历的元素就是seq结尾元素的下一个
因此这个元素都只遍历了一遍
## Code
```python=
class Solution:
def getDescentPeriods(self, prices: List[int]) -> int:
i = 0
ans = 0
while i<len(prices):
j = i
while j+1<len(prices) and prices[j]==prices[j+1]+1:
j += 1
ans += ((j-i+1+1)*(j-i+1))//2
i = j+1
return ans
```