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

消耗时间和内存情况:

相关推荐
YianNib18 小时前
状态机是什么?
javascript
高洁0118 小时前
大模型-详解 Vision Transformer (ViT) (2
深度学习·算法·aigc·transformer·知识图谱
电子_咸鱼19 小时前
高阶数据结构——并查集
数据结构·c++·vscode·b树·python·算法·线性回归
zl_dfq19 小时前
基于哈夫曼树的数据压缩算法
算法
多喝开水少熬夜19 小时前
算法-哈希表和相关练习-java
java·算法·散列表
咫尺的梦想00719 小时前
vue的生命周期
前端·javascript·vue.js
余衫马19 小时前
聚类算法入门:像魔法一样把数据自动归类
人工智能·算法·机器学习·聚类
晴栀ay19 小时前
深入理解JavaScript执行机制:编译阶段与执行阶段的奥秘
javascript
南山安19 小时前
面试必考:从setTimeout到Promise和fetch
javascript·面试
CAU界编程小白19 小时前
数据结构系列之快速排序
数据结构·c++·算法