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

消耗时间和内存情况:

相关推荐
To_OC18 分钟前
从一段定时器代码,重新捋清 JS 同步、异步与 Promise
前端·javascript·代码规范
拙慕JULY40 分钟前
小程序返回 base64 文件报错
开发语言·javascript·小程序
数据知道42 分钟前
字体与排版防线:ClientRects 与系统字体枚举的底层拦截与伪造
javascript·数据采集·指纹浏览器·风控·浏览器指纹
羊羊小栈1 小时前
Uplift营销供应链协同决策系统(基于Uplift因果推断与运筹优化算法)
前端·人工智能·算法·毕业设计·大作业
一壶纱1 小时前
一个用于 UniApp 项目的 Pinia 持久化插件
前端·javascript·vue.js
凌涘1 小时前
JS 八大基本类型:一场内存视角的冒险之旅
前端·javascript
数据知道1 小时前
视觉伪装(上):Canvas 指纹生成原理与 Skia 图形库底层注入噪声
开发语言·javascript·ecmascript·数据采集·指纹浏览器
金融小师妹1 小时前
AI因子共振模型显示:金银比突破区间上沿,白银定价逻辑进入再校准阶段
人工智能·算法·均值算法·线性回归
J2虾虾1 小时前
C语言 typedef 用法
c语言·数据结构·算法
文阿花1 小时前
Echarts实现自定旋转3D饼状图
javascript·3d·echarts·饼状图