这是2022年王道数据结构复习单科书的代码练习题 以Chapter
为区分。
Chapter2.2
1
简单题
时间复杂度:$O(N)$
空间复杂度:$O(1)$
2
简单题 注意下标关系
时间复杂度:$O(N) / \Theta(\frac{N}{2})$
空间复杂度:$O(1)$
3
简单题 cnt
计算重复次数 下标对应移动即可
时间复杂度:$O(N)$
空间复杂度:$O(1)$
4
有序表
找介于s
和t
的可以采用双指针,从两边往中间靠,然后从i
的末尾开始用j
的元素覆盖即可。
时间复杂度:$O(N)$
空间复杂度:$O(1)$
5
不是有序表所以遍历整个顺序表用cnt
计数满足条件的然后覆盖 类似第三题[注意写法]
时间复杂度:$O(N)$
空间复杂度:$O(1)$
6
第一眼想到了$O(n^2)$的的写法,两层for然后计数,但复杂度过高
下面有一种比较好的写法,双指针 具体思想是:用两个指针一个指针先走,然后一个指针只有值不同时移动,然后对后移动的值进行覆盖,遍历完整个顺序表后,取后指针的长度即可。
时间复杂度:$O(N)$
空间复杂度:$O(1)$