1. 程式人生 > >665. 非遞減數列(類內呼叫函式)

665. 非遞減數列(類內呼叫函式)

python 類內函式互調的兩種用法

1. 類名.函式名

2. self.函式名 


這道題本身沒什麼好記錄的。因為我自己ac了,雖然程式碼寫的爛,但也ac了。

class Solution(object):
    def checkPossibility(self, nums):
        """
        :type nums: List[int]
        :rtype: bool
        """
        flag = 0
        i = 0
        while i<len(nums)-1:
            if nums[i] <= nums[i+1]:
                i+=1
            else:
                if not flag:
                    tmp=nums[i]
                    del nums[i]
                    if not self.isDescending(nums):
                        nums.insert(i,tmp)
                        # print(nums)
                        del nums[i+1]
                        if self.isDescending(nums):
                            return True
                    i = 0
                    flag = 1
                    # print(nums)
                else:
                    return False
        return True

主要有兩種情況:

# nums = [4, 2, 3]  # del nums[i]
nums = [2, 3, 3, 2, 4] # del nums[i+1]