题目:
链接: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]
要点:
1. 维护右边排序即可。
其他:
代码报错:无

