给定一个整数数组 nums,按要求返回一个新数组 counts。数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小于 nums[i] 的元素的数量。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/count-of-smaller-numbers-after-self
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
class Solution {
public List<Integer> countSmaller(int[] nums) {
LinkedList<Integer> list = new LinkedList<Integer>();
for(int i=nums.length-1;i>=0;i--){
int value = insertSort(nums,i,nums.length-1);
list.addFirst(value);
}
return list;
}
/*
* 从右向左进行插入排序
* nums[left]位置还处于无序状态
* 返回比nums[left]元素小的个数
*/
public int insertSort(int[] nums, int left, int right){
int temp = nums[left];
for(int i=left+1;i<=right;i++){
if(temp>nums[i]){
nums[i-1] = temp;
return right-i+1;
}else{
nums[i-1] = nums[i];
nums[i] = temp;
}
}
return 0;
}
}