“乘积最大子序列” {动态规划}
最简单的方法,一看就会!!!
public static void main(String[] args) {
int[]arr={2,-23,-2,4,0,-10};
System.out.println(dd(arr)); //调用方法
}
public static int dd(int []arr){
if(arr.length==0){ //如果数组长度为零 返回零
return 0;
}
int max=Integer.MIN_VALUE; //用包装类方法设置一个最小值
for (int i = 0; i < arr.length; i++) {
int temp=arr[i]; // 数组中值循环赋值到变量temp
for (int j = i+1; j < arr.length; j++) {
max=Math.max(max, temp); //比较出最大值 ,存到max里
temp*=arr[j]; //将temp*arr[j]变量乘积赋值给temp
}max=Math.max(max, temp); //出循环后比较temp和max最大值
}
return max; //最后返回最大子序列乘积
}