比如一组数【4,5,1,1,4,3,3,3,3,5,5,6,4,4,3,2】求他的波形图的波峰与波谷;结果应该是5,1,4,3,6 各位大神看看

解决方案 »

  1.   


    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]+")"+"波谷");
        }
       }
      }
      

  2.   

    用数组,如果array[i+1]是波峰或波谷的话,array[i+1]-array[i] 与array[i+2]-array[i+1]异号