mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2026-02-02 18:39:09 +08:00
优化排版,把复杂度标记为公式
This commit is contained in:
@@ -116,12 +116,12 @@ public:
|
||||
}
|
||||
};
|
||||
```
|
||||
* 时间复杂度O(nlogn + n^2)
|
||||
* 空间复杂度O(n)
|
||||
* 时间复杂度:$O(n\log n + n^2)$
|
||||
* 空间复杂度:$O(n)$
|
||||
|
||||
但使用vector是非常费时的,C++中vector(可以理解是一个动态数组,底层是普通数组实现的)如果插入元素大于预先普通数组大小,vector底部会有一个扩容的操作,即申请两倍于原先普通数组的大小,然后把数据拷贝到另一个更大的数组上。
|
||||
|
||||
所以使用vector(动态数组)来insert,是费时的,插入再拷贝的话,单纯一个插入的操作就是O(n^2)了,甚至可能拷贝好几次,就不止O(n^2)了。
|
||||
所以使用vector(动态数组)来insert,是费时的,插入再拷贝的话,单纯一个插入的操作就是$O(n^2)$了,甚至可能拷贝好几次,就不止$O(n^2)$了。
|
||||
|
||||
改成链表之后,C++代码如下:
|
||||
|
||||
@@ -150,8 +150,8 @@ public:
|
||||
};
|
||||
```
|
||||
|
||||
* 时间复杂度O(nlogn + n^2)
|
||||
* 空间复杂度O(n)
|
||||
* 时间复杂度:$O(n\log n + n^2)$
|
||||
* 空间复杂度:$O(n)$
|
||||
|
||||
大家可以把两个版本的代码提交一下试试,就可以发现其差别了!
|
||||
|
||||
|
||||
Reference in New Issue
Block a user