第一题

作者: 鳕鳕鳕鳕小鱼 | 来源:发表于2020-05-24 22:20 被阅读0次

题目描述
给定一个数组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];)

这个是调试的,所以自己打了很多的输出

需要注意的点在于列表的赋值操作,列表用B = A的话,就是A和B共用一套内存,A是值和B的值就是一致的

import copy
def multiply(A):
    n = len(A)
    print("A的长度是:", n)
    B = copy.copy(A)
    print(B)
    for i in range(n):
        multy = 1
        for j in range(n):
            if i != j:
                print(i,j)
                multy *= A[j]
                print("multy",multy)
                B[i] = multy
                print("A[j]的值为", A[j])
                print("B[i]的值为",B[i])
        print("B[i]的最终值为", B[i])
    print(B)

A = [1,2,3,4,5]
print("A的长度:",len(A))
multiply(A)

这是最终的通过的那个代码

import copy
class Solution:
    def multiply(self,A):
        n = len(A)
        if n == 0:
            return []
        B = copy.copy(A)
        for i in range(n):
            multy = 1
            for j in range(n):
                if i != j:
                    multy *= A[j]
                    B[i] = multy
        return B

相关文章

网友评论

      本文标题:第一题

      本文链接:https://www.haomeiwen.com/subject/qgysahtx.html