普通视图

发现新文章,点击刷新页面。
今天 — 2026年5月14日首页

排序 + 遍历

2023年8月7日 12:19

Problem: 2784. 检查数组是否是好的

[TOC]

思路

排序 + 一次遍历

解题方法

排序后计算数组长度,如果数组最后一个值大于等于当前数组长度,直接返回False。依次遍历数组起始至倒数第二个值下标与值是否相等,不相等返回False。

复杂度

  • 时间复杂度:

添加时间复杂度, 示例: $O(n)$

  • 空间复杂度:

添加空间复杂度, 示例: $O(n)$

Code

###Python3


class Solution:
    def sort_ergo(self, arr):
        size = len(arr)
        arr.sort()
        if arr[-1] >= size:
            return False
        for indx, val in enumerate(arr[:size-1], 1):
            if indx != val:
                return False
        return True

    def isGood(self, nums: List[int]) -> bool:
        # 方法:排序 + 遍历
        return self.sort_ergo(nums)
❌
❌