浅谈 有多少小于当前数字的数字 问题

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

问题:
给你一个数组 nums,对于其中每个元素 nums[i],请你统计数组中比它小的所有数字的数目。

换而言之,对于每个 nums[i] 你必须计算出有效的 j 的数量,其中 j 满足 j != i 且 nums[j] < nums[i]
以数组形式返回答案。
例:
输入:nums = [6, 5, 4, 8]
输出:[2, 1, 0, 3]

思路:
两层循环遍历数组。
外循环控制所求数字。
内循环控制外循环数字与内循环数组中的元素进行比较。
返回满足题意的数组。

class Solution {
    
    
public:
    vector<int> smallerNumbersThanCurrent(const vector<int>& nums) {
    
    
        vector<int> res;
        for(int i = 0; i < nums.size(); ++i) {
    
    
            auto count = 0;
            for(int j = 0; j < nums.size(); ++j) {
    
    
                if(nums[i] > nums[j]) count++;
            }
            res.push_back(count);
        }
        return res;
    }
};

猜你喜欢

转载自blog.csdn.net/weixin_48033173/article/details/112967963