- 博客(3)
- 收藏
- 关注
原创 串的模式匹配
即暴力解决:主串指针i依次往后移动,当要匹配的字符串指针j所指向的元素与i所指向的元素不相同时,i恢复到原来开始位置的下一个,j恢复到原来状态(0或1),若最初下标是从0开始,i变为i-j+1,若从1开始i变为i-j+2;一次往后移动直到匹配成功或主串结束。程序演示结果为true。接下来分析时间复杂度:O(mn)s1长m,s2长n。考虑最坏的情况,找到最后也没找到。那么在s1的前n个字符分别匹配1,2,3……n次,后面的字符都匹配m次(分别与s2的第一位……第n位匹配),所以时间复杂度几乎是nm;
2023-03-29 15:12:48
136
原创 输出所有可能的出栈顺序
认为这种问题主要思路是从哪开始出栈,到哪里结束。然后会发现出栈后的状态与初始状态相同,要考虑的情况也一样,所以会想到递归,终止条件也易想到,关键是要理清思路,分析具体有哪几种情况。因为只输入一次,但需要考虑输入到不同位置时出栈,所以要有一种数据结构存储输入序列,采用队列(先进先出,只需考虑首元素),同样输出也采用队列,队满即输出。
2023-03-20 19:08:10
1116
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人