Leetcode问题#315的Python代码有什么问题

时间:2018-11-29 15:32:45

标签: python

我解决了Leetcode中的一个问题。它通过了14的16的测试。但是随后发生了错误。我找不到我犯错的地方。谢谢!

问题:给您一个整数数组nums,您必须返回一个新的counts数组。 counts数组具有以下属性:counts [i]是nums [i]右侧较小元素的数量。

示例:

Input: [5,2,6,1]
Output: [2,1,1,0] 

我的答案:

class Solution:
    def countSmaller(self, nums):

        new_list=[]

        for i in nums:
            count=0
            a=nums.index(i)
            my_list1=nums[a+1:]

            for x in my_list1:
                if x<i:
                    count+=1
            new_list.append(count)
        return new_list   

1 个答案:

答案 0 :(得分:1)

这应该为您解决这一问题,一行理解:

[sum(1 for y in nums[i:] if y < x) for i, x in enumerate(nums)]
#[2, 1, 1, 0]