一、题目
二、代码
//用 map最好 但是一维的map 可以用数组代替
class Solution
{
public:
vector<int> smallerNumbersThanCurrent(vector<int>& nums)
{
int i,j;
vector<int> return_vector;
vector<int> sort_vector=nums;
int array_map[101]={0,};
sort(sort_vector.begin(),sort_vector.end());
// std::cout<<"排序后 "<<std::endl;
// for(i=0;i<sort_vector.size();i++) std::cout<<" "<<sort_vector[i];
// std::cout<< std::endl;
for(i=sort_vector.size()-1;i>=0;i--)
{
array_map[sort_vector[i]]=i;
}
// std::cout<<"构建map "<<std::endl;
// for(i=0;i<10;i++) std::cout<<" "<<array_map[i];
// std::cout<<std::endl;
for(i=0;i<nums.size();i++)
{
return_vector.push_back(array_map[nums[i]]);
}
return return_vector;
}
};