Please solve the programming task below using a self-contained code snippet in a markdown code block.

Given an array nums with n integers, your task is to check if it could become non-decreasing by modifying at most one element.
We define an array is non-decreasing if nums[i] <= nums[i + 1] holds for every i (0-based) such that (0 <= i <= n - 2).
 
Please complete the following python code precisely:
```python
class Solution:
    def checkPossibility(self, nums: List[int]) -> bool:
```