每日一题——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 分钟前
ES6+ 必用新特性:箭头函数、解构、模板字符串、扩展运算符
前端·javascript
梨想橙汁7 分钟前
DOM 与 JS 事件:页面元素操作、事件冒泡、事件委托实战
前端·javascript
HugoStudio_SWAN8 分钟前
洛谷 P1319 / P1320 压缩技术——同一枚硬币的正反面
c++·学习·程序人生·算法
一个游离的指针26 分钟前
浏览器的渲染原理
前端·javascript
ynchyong2 小时前
JavaScript Promise 实战:.then() 与 .catch() 的区别及回调函数封装指南
开发语言·javascript·ecmascript·promise·then
大模型码小白2 小时前
数据可视化:AI处理多维数据的HTML5可视化方案
大数据·前端·javascript·人工智能·机器学习·信息可视化·html5
wdfk_prog2 小时前
canopennode-rtt推荐,不只可以做从站,也可以承担主站角色
c语言·开发语言·数据库·学习·算法·深度优先
BioRunYiXue2 小时前
科研干货 | IC50全面解读:概念解析、实验设计与数据分析要点
java·开发语言·javascript·人工智能·算法·数据挖掘·数据分析
hahaha60162 小时前
HLS高层次综合设计技巧--UART_TX接收模块设计案例
人工智能·算法·计算机视觉
302wanger2 小时前
一个程序员看完《逆行人生》:电影没说透的,比电影更扎心
算法