Leetcode 题目915-分割数组

2022-11-18 14:09:50 浏览数 (1)

我的解答 python版:

代码语言:javascript复制
class Solution:
    def partitionDisjoint(self, nums: List[int]) -> int:
        n = len(nums)
        left_max = nums[0]
        for i in range(n):
            if (val:= nums[i]) > left_max: left_max = val
            for j in range(i 1, n):
                if left_max > nums[j]:
                    break
            else: # 代表 left_max <= nums[j], 对于 j 属于 [i 1, n-1]
                return i 1
        return 0  # 可有可无的

用 for ...break... else, 可以简化代码。

不要去求右边数组的最小值,浪费时间。

0 人点赞