【题目】
给你一个数组 nums
,对于其中每个元素 nums[i]
,请你统计数组中比它小的所有数字的数目。
换而言之,对于每个 nums[i]
你必须计算出有效的 j
的数量,其中 j
满足 j != i
且 nums[j] < nums[i]
。
以数组形式返回答案。
【解析】
暴力法:
通过两个 for 循环,每次获取 nums 数组中的元素就将该元素与整个数组的元素进行对比。
复杂度分析:
- 时间复杂度:O(N2)
- 空间复杂度:O(1)
【代码】
class Solution {
public int[] smallerNumbersThanCurrent(int[] nums) {
int [] arr = new int [nums.length];
for(int i=0; i<nums.length; i++){
int count = 0;
for(int j=0; j<nums.length; j++){
if(nums[i] > nums[j]){
count++;
}
}
arr[i] = count;
}
return arr;
}
}