给一个浮点数序列,取最大乘积连续子串的值,例如 -2.5,4,0,3,0.5,8,-1,则取出的最大乘积连续子串为3,0.5,8。也就是说,上述数组中,3 0.5 8这3个数的乘积3*0.5*8=12是最大的,而且是连续的。
private static double getMaxProductNum(double[] array) { double max = array[0]; double cur; int begin= 0 , end = 0 ; for (int i = 0 ; i < array.length ; i++) { cur = 1; for (int j = i ; j < array.length; j++) { cur *= array[j]; if (cur > max) { begin = i; end = j; max = cur; } } } for (int i = begin; i <= end ; i++) { System.out.print(array[i] + " "); } return max; }