我解决了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
答案 0 :(得分:1)
这应该为您解决这一问题,一行理解:
[sum(1 for y in nums[i:] if y < x) for i, x in enumerate(nums)]
#[2, 1, 1, 0]