劍指Offer 陣列 構建乘積陣列

2022-09-09 10:03:10 字數 1017 閱讀 2964

給定乙個陣列a[0,1,...,n-1],請構建乙個陣列b[0,1,...,n-1],其中b中的元素b[i]=a[0]*a[1]*...*a[i-1]*a[i+1]*...*a[n-1]。不能使用除法。(注意:規定b[0] = a[1] * a[2] * ... * a[n-1],b[n-1] = a[0] * a[1] * ... * a[n-2])

對於a長度為1的情況,b無意義,故而無法構建,因此該情況不會存在。

1

public

class

solution

6int result = new

int[array.length];

7for(int i = 0; i < array.length; i ++)

13 result[i] = result[i] *array[j];

14if(result[i] == 0) 17}

18}19return

result;20}

21 }

1

public

class

solution

6int result = new

int[array.length];

7int left = new

int[array.length];

8int right = new

int[array.length];

9 left[0] = 1;

10 right[array.length - 1] = 1;

11for(int i = 1; i < array.length; i ++)

14for(int j = array.length - 2; j >= 0; j --)

17for(int m = 0; m < array.length; m ++)

20return

result;21}

22 }

劍指offer 陣列 構建乘積陣列

題目 構建乘積陣列 題目描述 給定乙個陣列a 0,1,n 1 請構建乙個陣列b 0,1,n 1 其中b中的元素b i a 0 a 1 a i 1 a i 1 a n 1 不能使用除法。注意 規定b 0 a 1 a 2 a n 1 b n 1 a 0 a 1 a n 2 include include...

劍指offer 51 陣列 構建乘積陣列

給定乙個陣列a 0,1,n 1 請構建乙個陣列b 0,1,n 1 其中b中的元素b i a 0 a 1 a i 1 a i 1 a n 1 不能使用除法。乙個for迴圈裡面巢狀兩個for迴圈即可 public int multiply int a int b new int a.length for...

陣列 構建乘積陣列

給定乙個陣列a 0,1,n 1 請構建乙個陣列b 0,1,n 1 其中b中的元素b i a 0 a 1 a i 1 a i 1 a n 1 不能使用除法。注意 規定b 0 a 1 a 2 a n 1 b n 1 a 0 a 1 a n 2 既然不能用乘法,分析題目,我們可以將乘積拆為兩項。即 c i...