每日一题——LeetCode1365.有多少小于当前数字的数字

方法一 暴力循环

对于数组里的没一个元素都遍历一遍看有多少元素小于当前元素

javascript 复制代码
var smallerNumbersThanCurrent = function(nums) {
    let n = nums.length;
    let ret = [];
    for (let i = 0; i < n; ++i) {
        let count= 0;
        for (let j = 0; j < n; ++j) {
            if (nums[j] < nums[i]) {
                count++;
            }
        }
        ret[i] = count;
    }
    return ret;
};

消耗时间和内存情况:

方法二 排序

将数组排序,并记录每一个数在原数组中的位置。对于排序后的数组中的每一个数,我们找出其左侧第一个小于它的数,这样就能够知道数组中小于该数的数量。

javascript 复制代码
var smallerNumbersThanCurrent = function(nums) {
    var arr = Array.from(nums)
    arr = arr.sort((a,b)=>a-b)
    let index = 0,res = []
    for(let i = 0; i < nums.length; i++){
        index = arr.indexOf(nums[i])
        if(index>0){
            res[i]=index
        }else{
            res[i]=0
        }
    }
    return res
};

消耗时间和内存情况:

相关推荐
剑指offer.12 分钟前
Linux多任务-线程篇
java·jvm·算法
nike0good28 分钟前
CF 126B(Password-z algorithm/exkmp)
开发语言·c++·算法
无定义_42 分钟前
Bellman-Ford——贝尔曼福特算法
数据库·算法
waillyer1 小时前
企业知识库智能问答 Agent(React + Nest)
javascript·redis·agent
HanhahnaH1 小时前
各数据结构操作的时间复杂度汇总
数据结构·算法
Yzzz-F2 小时前
CF2023D
c++·算法·dp
小小帅呀2 小时前
学习 VLA 第6天:SWIN VIT算法原理以及复现
学习·算法
猎头南楼2 小时前
杭州算法工程师,偏大模型应用落地
算法
Dovis(誓平步青云)2 小时前
模拟器横评:电脑上看小说、追短剧用什么模拟器?MuMu、雷电、腾讯手游助手实测
android·java·服务器·前端·javascript·电脑