You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

处理不同输入的嵌套循环函数,对应的Big O notation是什么?

函数compressBoxesTwice的时间复杂度分析

先拆解函数的核心执行逻辑:

  • 外层forEach遍历box1,循环次数等于box1的元素个数,我们记为m
  • 每执行一次外层循环,就会完整遍历一遍box2的内层forEach,内层循环次数等于box2的元素个数,记为n

总的执行次数是外层循环次数乘以内层循环次数,也就是 m * n 次。对应的Big O表示法就是 O(m*n)。

你提到的同一输入下的O(n²),其实是O(m*n)的特例——当m和n相等(即嵌套循环处理同一个数组),此时复杂度可简化为O(n²)。而在这个函数里,两个循环依赖的是独立的输入规模,所以需要用两个不同的变量来表示,最终复杂度是两个输入长度的乘积。

内容的提问来源于stack exchange,提问作者Hamza Baig

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 17:07:35