赞
踩
《python算法与数据结构2000讲》0315. 计算右侧小于当前元素的个数
给定一个整数数组 nums
。
要求:返回一个新数组 counts
。其中 counts[i]
的值是 nums[i]
右侧小于 nums[i]
的元素的数量。
可以用树状数组解决。
首先对数组进行离散化处理。把原始数组中的数据映射到 [0, len(nums) - 1]
这个区间。
nums
中遍历元素 nums[i]
。计算其离散化后的排名 index
,查询比 index
小的数有多少个。将其记录到答案数组的对应位置 ans[i]
上。index
的位置上,更新值为 1
。重复上述步骤直到遍历完所有元素。最后输出答案数组即可。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。