LeetCode Contest 47
这次比赛做完四道题了 😊
第一题Non-decreasing Array
我是首先找出第一个i,满足nums[i] < nums[i-1]。这样我们必须要修改i或者i-1的位置,只要分别检查修改这两个位置是否可以得到一个非递降数组就行。因为两个元素相等也是非递降,所以修改一个位置可以等价于将那个位置的数字去除。
class Solution(object):
def checkPossibility(self, nums):
"""
:type nums: List[int]
:rtype: bool
"""
def check(i):
if i >= len(nums):
return True
temp = [nums[j] for j in xrange(len(nums)) if j != i]
return all(temp[j]>=temp[j-1] for j in xrange(1, len(temp)))
i = 1
while i < len(nums) and nums[i] >= nums[i-1]:
i += 1
return check(i) or check(i-1)
