一、题目描述
二、解题思路
取中间点,看左边比它小右边比它大或左边比它大右边比它小的数字个数,最后做排列组合。当然也可以嵌套三个循环来做,但时间复杂度太大了。
三、代码实现
var numTeams = function(rating) {
const len = rating.length
let count = 0
for(var i=0;i<len;i++){
let lmin=0,rmax=0,lmax=0,rmin = 0
for(let j=0;j<i;j++){
if (rating[j]<rating[i]){
lmin++
}else{
lmax++
}
}
for(let m=i+1;m<len;m++){
if(rating[m]>rating[i]){
rmax++
}else{
rmin++
}
}
count += lmin*rmax + lmax*rmin
}
return count
};