1class Solution:2def partitionDisjoint(self, nums: List[int]) -> int:3prefix = [nums[0] for _ in range(len(nums))]4suffix = [nums[-1] for _ in range(len(nums))]5for i in range(1, len(nums)):6prefix[i] = max(prefix[i - 1], nums[i - 1])7for i in range(len(nums) - 2, -1, -1):8suffix[i] = min(suffix[i + 1], nums[i + 1])9for i in range(0, len(nums) - 1):10if prefix[i] <= suffix[i]:11return i + 1