0232.用栈实现队列.md 时间复杂度应为O(1)

This commit is contained in:
Lane Zhang
2024-10-21 13:10:23 +08:00
parent 42d84f8a7f
commit 048ec95f07
2 changed files with 2 additions and 2 deletions

View File

@ -113,7 +113,7 @@ public:
``` ```
* 时间复杂度: push和empty为O(1), pop和peek为O(n) * 时间复杂度: 为O(1)pop和peek看起来像O(n)实际上一个循环n会被使用n次最后还是O(1)。
* 空间复杂度: O(n) * 空间复杂度: O(n)

View File

@ -77,7 +77,7 @@ for (int i = 0; i < array.size(); i++) {
时间复杂度可以做到O(n^2),但还是比较费时的,因为不好做剪枝操作。 时间复杂度可以做到O(n^2),但还是比较费时的,因为不好做剪枝操作。
所以这道题目使用双指针法才是最为合适的,用双指针做这道题目才能就能真正体会到,**通过前后两个指针不向中间逼近在一个for循环下完成两个for循环的工作。** 所以这道题目使用双指针法才是最为合适的,用双指针做这道题目才能就能真正体会到,**通过前后两个指针不向中间逼近在一个for循环下完成两个for循环的工作。**
只用双指针法时间复杂度为O(n^2)但比哈希法的O(n^2)效率高得多哈希法在使用两层for循环的时候能做的剪枝操作很有限。 只用双指针法时间复杂度为O(n^2)但比哈希法的O(n^2)效率高得多哈希法在使用两层for循环的时候能做的剪枝操作很有限。