日期:2014-05-19 浏览次数:21571 次
byte[] wave = new byte[]{4,5,1,1,4,3,3,3,3,5,5,6,4,4,3,2};
int direction = wave[0] > 0? -1:1;
for(int i=0;i<wave.length-1;i++) {
if((wave[i+1]-wave[i])*direction>0) {
direction*=-1;
if(direction == 1) {
System.out.println("("+i+","+wave[i]+")"+"波峰");
} else {
System.out.println("("+i+","+wave[i]+")"+"波谷");
}
}
}
------解决方案--------------------
用数组,如果array[i+1]是波峰或波谷的话,array[i+1]-array[i] 与array[i+2]-array[i+1]异号
------解决方案--------------------
波峰比附近的值都大,波谷比附近的值都小。。。