315. 计算右侧小于当前元素的个数
给定一个整数数组 nums,按要求返回一个新数组 counts。数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小于 nums[i] 的元素的数量。
示例:
输入: [5,2,6,1]
输出: [2,1,1,0]
解释:
5 的右侧有 2 个更小的元素 (2 和 1).
2 的右侧仅有 1 个更小的元素 (1).
6 的右侧有 1 个更小的元素 (1).
1 的右侧有 0 个更小的元素.
题解
暴力查找 效率极低
/**
* @param {number[]} nums
* @return {number[]}
*/
var countSmaller = function(nums) {
let i = 0, num = new Array(nums.length)
while (i < nums.length-1) {
let j=i+1,k = nums.length - 1,s=0
while (j<=k){
if(nums[j]<nums[i]){
s++
}
if(nums[k]<nums[i]&&j<k){
s++
}
j++
k--
}
num[i]=s
i++
}
num[num.length-1]=0
return num
};