leetcode 百天解题 - day 10 - 1331. 数组序号转换
题目名称
给你一个整数数组 arr ,请你将数组中的每个元素替换为它们排序后的序号。
序号代表了一个元素有多大。序号编号的规则如下:
序号从 1 开始编号。
一个元素越大,那么序号越大。如果两个元素相等,那么它们的序号相同。
每个数字的序号都应该尽可能地小。
示例
输入:arr = [40,10,20,30]
输出:[4,1,2,3]
题解
这个就相对来说较为简单了
首先针对原数组进行去重操作后,得到一个新的数组,然后在对这个不包含重复元素的数组进行从小到大排序
然后对原数组进行遍历操作,针对每一个原数组的元素,找到其在排序后的数组中的位置,替换原数组对应元素位置,最后的得到的新数组就是,原数组的数组序号转换
答案
1 | var arrayRankTransform = function(arr) { |
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment
DisqusValine