无法找到枢轴索引

问题描述 投票:0回答:1

我正在尝试在 leetcode 中使用 python 获取给定数组的主元索引。 对于给定一个整数数组 nums,计算该数组的主元索引。

这是我用过的代码

class Solution:
    def pivotIndex(self, nums: List[int]) -> int:
        if 1 <= len(nums) <= 104:
            counter1 = 0
            for i in range(len(nums)):
                if -1000 <= nums[i] <= 1000:
                    counter1 += nums[i]
                    counter2 = 0
                    for j in range(i,len(nums)):
                        counter2+=nums[j]
                    if counter1 == counter2:
                        return i
                else:
                    return -1
        return -1
            

它适用于大多数用例,但我不明白为什么它在这个特定用例中不起作用。 这是我的提交(用例也存在于此)任何人都可以解释我做错了什么吗?

arrays python-3.x data-structures
1个回答
0
投票

您正在检查输入列表的长度是否在

1
104
之间,但问题指定最大长度为 10 的 4 次方,即 10,000。因此,当长度大于 104 时,您将返回
-1
,而根本不尝试解决测试用例。

所以,应该是这样

if 1 <= len(nums) <= 10000:

这些问题的输入保证是有效的并且符合问题规范,所以你也可以去掉多余的检查。

© www.soinside.com 2019 - 2024. All rights reserved.