日期:2014-05-19 浏览次数:21349 次
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]异号
------解决方案--------------------
波峰比附近的值都大,波谷比附近的值都小。。。