目录
空间复杂度的计算
空间复杂度也是一个数学函数表达式,是对一个算法运行过程中临时(额外)占用存储空间数。空间复杂度不是程序占用了多少Byte的空间,这个也没太大意义,所以空间复杂度算的是变量的个数。计算规则与时间复杂度相似,也用大O渐进表示法。
例题1:
O(1)
例题2:
O(N)
例题3:
O(N)
例题4:
O(N)
虽然调用次数是2^n,但是,空间创建后销毁可以再同一个地方再创建空间,所以空间复杂度为O(N)
训练题
思路1:排序后,逐个查找(时间复杂度不符合要求)
思路2:找到最大值,对0-Max求和,再减去数组的求和,得到的就是那个缺失的数
思路3:建立一个N+1的数组b,数组nums中的一个数为i,就给数组b中对应的第i个位置的数赋值为1,最后检查数组b中哪个数不为1,则缺失的数就是那个数
思路4:哈希表(我不会)
复杂度的意义:一道题有多重方法,我们不用一一实现,只需要分析出每种方法的复杂度,选出复杂度优的方式即可,这就是复杂度的实际意义。
题目讲解链接: