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

消耗时间和内存情况:

相关推荐
linux-hzh8 分钟前
百日算法修炼 · Day 09
数据结构·算法·排序算法
一个游离的指针10 分钟前
JS中的对象的相关概念
开发语言·javascript·原型模式
mONESY17 分钟前
DeepSeek-R1 WebGPU(六):浏览器本地跑推理的完整实现
javascript
DFT计算杂谈17 分钟前
Janus单层Cr2SSe中的应变可调多压电效应与谷电子学
人工智能·算法·机器学习
今天AI了吗17 分钟前
从 LLM 到 Agent Skill:把 AI 底层概念串起来
数据库·人工智能·sql·深度学习·神经网络·算法·机器学习
新时代牛马21 分钟前
Vue.js 响应式原理详解
前端·javascript·vue.js
BreezeJiang26 分钟前
为什么 Next.js 要把组件切成两半?从一个 SEO 死穴说起
javascript·react.js
Molecular_Chat30 分钟前
Biotin SNA 生物素偶联凝集素结合特异性、生物素标记效率定量表征研究
javascript·python
进击的蛋蛋35 分钟前
JS对象的遍历
javascript·面试
mONESY37 分钟前
React 前端如何不傻等后端接口?
前端·javascript·后端