波峰波谷的判斷


給定一個數組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范圍內的波峰更高,則修改上一個波谷的值。 否則就將該波峰加入波峰列表。 

最后返回波峰和波谷列表。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM