每日一题——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·笔记
在黎明的反思6 小时前
进程通信之消息队列(IPC)
算法
老鱼说AI7 小时前
算法基础教学第一步:数据结构
数据结构·python·算法
helloyangkl7 小时前
前端——不同环境下配置env
前端·javascript·react.js
Jing_Rainbow7 小时前
【LeetCode Hot100 刷题日记(19/100)】54. 螺旋矩阵 —— 数组、矩阵、模拟、双指针、层序遍历🌀
算法·面试·程序员
甜味弥漫7 小时前
JavaScript新手必看系列之预编译
前端·javascript
用户6600676685397 小时前
搞懂作用域链与闭包:JS底层逻辑变简单
前端·javascript
没落英雄8 小时前
简单了解 with
前端·javascript
小小弯_Shelby8 小时前
vue项目源码泄露漏洞修复
前端·javascript·vue.js
地平线开发者8 小时前
征程 6 | linear 高精度输出配置方式
算法·自动驾驶