整数配列を指定し nums
、最大の製品を有する(少なくとも一つの数を含む)アレイ内の連続する部分配列を見つけます。
例1:
入力:[2,3、-2,4]
出力:6
説明:[2,3]は最大生成物6を有しています。
例2:
入力:[-2,0、-1] 出力:0 説明:[-2、-1]サブアレイないので、結果は、2であることができません。
クラスソリューション{ 公共 のint maxProduct(INT [] NUMS){ 場合(NUMS == NULL || nums.length == 0 ){ 戻り 0 。 } int型の最大値= NUMS [0 ]。 INT分= NUMS [0 ]。 INT RES = NUMS [0 ]。 int型 preMaxは= 最大。 ため(intは、I <nums.length; iは1 = I ++ ){ //は比較のための電流を含みます 最大= Math.max(NUMS [I]、Math.max(preMax * NUMS [i]は、分* NUMS [I]))。 分 = Math.min(NUMS [I]、Math.min(MIN * NUMS [I]、preMax * NUMS [I]))。 RES = Math.max(MAX、RES)。 preMaxは = 最大。 } 戻りRES。 } }