题目:
链接:https://leetcode-cn.com/problems/count-of-smaller-numbers-after-self
给定一个整数数组 nums,按要求返回一个新数组 counts。
数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小于 nums[i] 的元素的数量。
示例:
输入:[5,2,6,1]
输出:[2,1,1,0]
解释:
5 的右侧有 2 个更小的元素 (2 和 1)
2 的右侧仅有 1 个更小的元素 (1)
6 的右侧有 1 个更小的元素 (1)
1 的右侧有 0 个更小的元素
答案:
时间:
5min,因为知道两分查找了。
class Solution:
def countSmaller(self, nums: List[int]) -> List[int]:
a=[]
ans=[]
for num in nums[::-1]:
count = bisect.bisect_left(a,num)
a.insert(count,num)
ans.append(count)
return ans[::-1]