1365 Leetcode 有多少小于当前数字的数字

题目描述:
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;
    }
};
发布了224 篇原创文章 · 获赞 0 · 访问量 3117

猜你喜欢

转载自blog.csdn.net/peachzy/article/details/105089655
今日推荐