波峰波谷的判断
给定一个数组h, 从左往右扫描。
用S记录当前的状态(未知0, 下坡1,上坡2)
当S=0, 如果 h[i] > h[i+1] 修改状态为 下坡1, 否则为上坡 2
当S=1, 如果 h[i] < h[i+1], 则判断为由下坡变为上坡, 此处为一个波谷。 如果该波谷比上一个rangesize范围内的波谷更低,则修改上一个波谷的值。 否则就将该波谷加入波谷列表。
当S=2, 如果 h[i] > h[i+1], 则判断为由上坡变为下坡, 此处为一个波峰。 如果该波峰比上一个rangesize范围内的波峰更高,则修改上一个波谷的值。 否则就将该波峰加入波峰列表。
最后返回波峰和波谷列表。