练习时长的代码练习生
练习时长的代码练习生
全部文章
分类
归档
标签
去牛客网
登录
/
注册
练习时长的代码练习生的博客
全部文章
(共4篇)
题解 | #正则表达式匹配#
C排名第一,该题是《HJ71 字符串通配符》的简化版本。不用动态规划和递归,用双指针回溯法,只遍历一次,不占用额外空间。由于模式串中的字符 '*' 表示它前面的字符可以出现任意次,为了方便处理 '*' 和它前面的字符,在这里逆序匹配字符。 思路: 指针 i,j 分别表示 str...
字符串
双指针
回溯
C
C++
2022-07-10
0
264
题解 | #字符串通配符#
递归的时间复杂度太大了,字符串稍微复杂且长度超过50就容易超时。我参考了C排名第一的代码(有bug:a* a##### 运行为true,且会匹配到最后,正确答案为false),并进行了优化。 思路: 用指针记录当前’*‘的位置与当前匹配字符的位置(开始时'*'的匹配数为0),按匹配规则继...
字符串
回溯
字符串匹配
递归
C
C++
2022-07-09
2
323
题解 | #矩阵中的路径#
纯C 用一个相同规格的数组visited来标记当前结点是否已经访问,以防止走回头路。dfs用来访问某个结点,判定迭代条件和边界。直到找到一条匹配路径。代码用全局变量和一些办法取消了引用。 /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规...
回溯
深度优先搜索
C
2022-07-04
1
330
题解 | #火车进站#
方法一:暴力搜索。 比较容易想到,先按照全排列的方法,找出火车进站序列的全排列。从全排列序列中找到符合出站规则的序列,再将所有的合法序列排序,最后依次打印输出。 出站规则:用栈储存入站火车序号,另一边用一个指针顺序遍历当前的全排列序列,对比当前栈顶序号是否与指针所指的全排列序列号相等。 ...
数组
字符串
深度优先搜索
栈
回溯
计数
递归
快速选择
C
C++
2022-06-21
11
1236