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

消耗时间和内存情况:

相关推荐
s_w.h12 分钟前
【 刷题 】双指针
算法
啥都想学点的研究生16 分钟前
一篇文章讲清楚:K-Means聚类算法
算法·kmeans·聚类
白狐_79826 分钟前
408 数据结构|KMP做题方法:next、nextval和高频易错点
数据结构·算法
月华路29 分钟前
《模型不玄学》第20章 两种评估视角
人工智能·算法·机器学习
AZaLEan__30 分钟前
事件循环讲解
javascript
变与不变80631 分钟前
引用类型、内存原理与对象
开发语言·前端·javascript
Highcharts33 分钟前
Highcharts实战讲解|散点图+多项式回归曲线复杂图表示列Demo
javascript·数据可视化
梨想橙汁38 分钟前
Git 常用命令大全:提交、查看日志、版本回退、文件撤销
前端·javascript
mONESY1 小时前
对话一长上下文就爆?LangChain.js Memory 三种淘汰策略(截断 / 总结 / 检索)实战
javascript
禹凕1 小时前
快速幂算法详解与实战
python·算法