一、问题
给你一个数组 nums,对于其中每个元素 nums[i],请你统计数组中比它小的所有数字的数目。
换而言之,对于每个 nums[i] 你必须计算出有效的 j 的数量,其中 j 满足 j != i 且 nums[j] < nums[i] 。以数组形式返回答案
二、思路
遍历一遍数组nums,将当前元素与其后所有元素比较,数值较大者对应的统计数量的数组下标+1
三、代码
class Solution {
public:
vector<int> smallerNumbersThanCurrent(vector<int>& nums) {
vector<int> num(nums.size(),0);
for(int i=0;i<nums.size();i++){
for(int k=i+1;k<nums.size();k++){
if(nums[i]>nums[k]){
num[i]++;
}else if(nums[i]<nums[k]){
num[k]++;
}
}
}
return num;
}
};
四、复杂度分析
O(n**2)