アレイ所与 nums
の nは 整数で N > 1は、配列を返す output
ような output[i]
すべての要素の積に等しい nums
以外を nums[i]
。
例:
入力:[1,2,3,4]
出力:[24,12,8,6]
注:区分なしとO(でそれを解決してくださいN)。
フォローアップ:
あなたは、一定のスペースの複雑さと、それを解決してもらえますか?(出力配列は、スペースの複雑性分析の目的のために余分なスペースとしてカウントされません。)
クラスソリューション{ 公共 のint [] productExceptSelf(INT [] NUMS){ 場合(NUMS == NULL || nums.length == 0 ){ 戻りNUMS。 } INT [] resArr = 新しい INT [nums.length]。 resArr [ 0] = 1 ; 以下のために(INT I 1 =; I <nums.length; I ++ ){ resArr [I] = resArr [I - 1] * NUMS [I - 1 ]。 } int型の右= 1 。 以下のための(int型私はnums.length = - 1を。I> = 0; i-- ){ resArr [I] * = 右。 右 * = NUMS [i]は、 } 戻りresArrと、 } }