1. 程式人生 > 其它 >用類名傳遞引數時一定要加括號

用類名傳遞引數時一定要加括號

class Solution:
    """
    @param A: The array A.
    @return: The array of the squares.
    """
    def SquareArray(self, A):
        # write your code here # 這程式碼寫的的不pythonic
        N = len(A)

        # 首先,我們找到負數和非負數的分界點j,代表最大的一個負數
        p = 0                           # 正數指標
        while p < N and A[p] < 0:
            p += 1

        n = p - 1

        ans = []
        while 0 <= n and p < N:
            if A[n]**2 < A[p]**2:       # 正數的平方比負數大
                ans.append(A[n]**2)     # 新增較小的平方數
                n -= 1
            else:
                ans.append(A[p]**2)
                p += 1

        # 如果還有剩餘負數,繼續新增
        while n >= 0:
            ans.append(A[n]**2)
            n -= 1

        # 如果還有剩餘正數,繼續新增
        while p < N:
            ans.append(A[p]**2)
            p += 1
        return ans
A = [-4,-1,0,3,10]
a = [-7,-3,2,3,11]
# Solution.SquareArray(A) 這樣會報錯,這樣傳遞的是類的id,並不是類的例項
b = Solution()
print(Solution().SquareArray(a)) # [4, 9, 9, 49, 121]
print(b. SquareArray(A)) # 這裡要把函式類傳遞進去
努力拼搏吧,不要害怕,不要去規劃,不要迷茫。但你一定要在路上一直的走下去,儘管可能停滯不前,但也要走。