题目描述:
LeetCode第1365题 有多少小于当前数字的数字
类型简单
思路:
先排序
然后记录下索引
代码如下:
class Solution {
public:
vector<int> smallerNumbersThanCurrent(vector<int>& nums) {
vector<int>n=nums;
sort(n.begin(),n.end());
map<int,int>index;
for(int i=0;i<n.size();i++){
if(i>0){
int temp=i;
while(n[temp]==n[temp-1]){
temp--;
if(temp==0){
index[n[i]]=0;
break;}
}
index[n[i]]=temp;
}
else index[n[i]]=i;
}
for(int i=0;i<nums.size();i++){
nums[i]=index[nums[i]];
}
return nums;
}
};