每日一题——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
};

消耗时间和内存情况:

相关推荐
星月心城6 分钟前
JS深入之从原型到原型链
前端·javascript
MessiGo7 分钟前
Javascript 编程基础(5)面向对象 | 5.2、原型系统
开发语言·javascript·原型模式
你的人类朋友39 分钟前
🤔Token 存储方案有哪些
前端·javascript·后端
烛阴39 分钟前
从零开始:使用Node.js和Cheerio进行轻量级网页数据提取
前端·javascript·后端
西哥写代码1 小时前
基于cornerstone3D的dicom影像浏览器 第三十一章 从PACS服务加载图像
javascript·pacs·dicom
王景程1 小时前
什么是哈希函数
算法·哈希算法
会不再投降2191 小时前
《算法复杂度:数据结构世界里的“速度与激情”》
数据结构·算法
kaiaaaa2 小时前
算法训练第十五天
开发语言·python·算法
Coovally AI模型快速验证2 小时前
SLAM3R:基于单目视频的实时密集3D场景重建
神经网络·算法·3d·目标跟踪·音视频
Once_day3 小时前
代码训练LeetCode(29)最后一个单词的长度
算法·leetcode·c