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

消耗时间和内存情况:

相关推荐
断剑zou天涯8 小时前
【算法笔记】窗口内最大值或最小值的更新结构
java·笔记·算法
smj2302_796826528 小时前
解决leetcode第3753题范围内总波动值II
python·算法·leetcode
lumi.8 小时前
Vue + Element Plus 实现AI文档解析与问答功能(含详细注释+核心逻辑解析)
前端·javascript·vue.js·人工智能
S***t7149 小时前
Vue面试经验
javascript·vue.js·面试
骑着猪去兜风.10 小时前
线段树(二)
数据结构·算法
粉末的沉淀10 小时前
css:制作带边框的气泡框
前端·javascript·css
p***h64311 小时前
JavaScript在Node.js中的异步编程
开发语言·javascript·node.js
fengfuyao98511 小时前
竞争性自适应重加权算法(CARS)的MATLAB实现
算法
散峰而望11 小时前
C++数组(二)(算法竞赛)
开发语言·c++·算法·github
leoufung11 小时前
LeetCode 92 反转链表 II 全流程详解
算法·leetcode·链表