mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 19:44:45 +08:00
Merge pull request #2003 from juguagua/leetcode-add-complexity-analysis-StackAndQueue
添加复杂度分析: 栈与队列
This commit is contained in:
@ -135,6 +135,9 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
```
|
```
|
||||||
|
* 时间复杂度: O(n)
|
||||||
|
* 空间复杂度: O(n)
|
||||||
|
|
||||||
技巧性的东西没有固定的学习方法,还是要多看多练,自己灵活运用了。
|
技巧性的东西没有固定的学习方法,还是要多看多练,自己灵活运用了。
|
||||||
|
|
||||||
|
|
||||||
|
@ -113,6 +113,9 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
```
|
```
|
||||||
|
* 时间复杂度: O(n)
|
||||||
|
* 空间复杂度: O(n)
|
||||||
|
|
||||||
|
|
||||||
## 题外话
|
## 题外话
|
||||||
|
|
||||||
|
@ -111,6 +111,8 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
* 时间复杂度: push为O(n),其他为O(1)
|
||||||
|
* 空间复杂度: O(n)
|
||||||
|
|
||||||
# 优化
|
# 优化
|
||||||
|
|
||||||
@ -156,6 +158,9 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
* 时间复杂度: push为O(n),其他为O(1)
|
||||||
|
* 空间复杂度: O(n)
|
||||||
|
|
||||||
|
|
||||||
# 其他语言版本
|
# 其他语言版本
|
||||||
|
|
||||||
|
@ -112,6 +112,10 @@ public:
|
|||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
* 时间复杂度: push和empty为O(1), pop和peek为O(n)
|
||||||
|
* 空间复杂度: O(n)
|
||||||
|
|
||||||
|
|
||||||
## 拓展
|
## 拓展
|
||||||
|
|
||||||
可以看出peek()的实现,直接复用了pop(), 要不然,对stOut判空的逻辑又要重写一遍。
|
可以看出peek()的实现,直接复用了pop(), 要不然,对stOut判空的逻辑又要重写一遍。
|
||||||
|
@ -184,6 +184,9 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
* 时间复杂度: O(n)
|
||||||
|
* 空间复杂度: O(k)
|
||||||
|
|
||||||
|
|
||||||
再来看一下时间复杂度,使用单调队列的时间复杂度是 O(n)。
|
再来看一下时间复杂度,使用单调队列的时间复杂度是 O(n)。
|
||||||
|
|
||||||
|
@ -79,8 +79,6 @@
|
|||||||
|
|
||||||
|
|
||||||
```CPP
|
```CPP
|
||||||
// 时间复杂度:O(nlogk)
|
|
||||||
// 空间复杂度:O(n)
|
|
||||||
class Solution {
|
class Solution {
|
||||||
public:
|
public:
|
||||||
// 小顶堆
|
// 小顶堆
|
||||||
@ -120,6 +118,10 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
* 时间复杂度: O(nlogk)
|
||||||
|
* 空间复杂度: O(n)
|
||||||
|
|
||||||
# 拓展
|
# 拓展
|
||||||
大家对这个比较运算在建堆时是如何应用的,为什么左大于右就会建立小顶堆,反而建立大顶堆比较困惑。
|
大家对这个比较运算在建堆时是如何应用的,为什么左大于右就会建立小顶堆,反而建立大顶堆比较困惑。
|
||||||
|
|
||||||
|
@ -77,6 +77,9 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
* 时间复杂度: O(n)
|
||||||
|
* 空间复杂度: O(n)
|
||||||
|
|
||||||
|
|
||||||
当然可以拿字符串直接作为栈,这样省去了栈还要转为字符串的操作。
|
当然可以拿字符串直接作为栈,这样省去了栈还要转为字符串的操作。
|
||||||
|
|
||||||
@ -99,6 +102,8 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
* 时间复杂度: O(n)
|
||||||
|
* 空间复杂度: O(1),返回值不计空间复杂度
|
||||||
|
|
||||||
## 题外话
|
## 题外话
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user