有多少小于当前数字的数字
问题:
给你一个数组 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;
}
};