#2988. DC9阶段测试一
DC9阶段测试一
第 1 题 下列关于字符串哈希的作用,说法错误的是( )。 {{ select(1) }}
- 快速判断两个字符串是否相等
- 快速查询子串是否出现
- 能够 100% 避免哈希冲突
- 配合前缀哈希实现 O(1) 子串比对
第 2 题 单哈希方案中,为了降低冲突概率,最常用的优化手段是( )。 {{ select(2) }}
- 增大进制数
- 使用双哈希(两组 base 和 mod)
- 只使用小写字母
- 缩短字符串长度
第 3 题 字符串 abcabc 的前缀哈希数组,无法直接完成的操作是( )。
{{ select(3) }}
- 获取整个串的哈希值
- 获取前 3 个字符的哈希值
- 获取任意两个子串的最长公共前缀
- 判断两个子串是否相等
第 4 题 KMP 算法的核心作用是解决什么问题( )。 {{ select(4) }}
- 字符串排序
- 单模式串匹配(找模式串在文本串中出现位置)
- 求最长回文子串
- 建立字符串字典树
第 5 题 KMP 算法中,next 数组(失配数组)的含义是( )。 {{ select(5) }}
- 字符串的长度
- 当前位置最长相等前缀与后缀的长度
- 字符串中字符种类数
- 模式串匹配成功的次数
第 6 题 文本串长度 n,模式串长度 m,KMP 算法时间复杂度是( )。 {{ select(6) }}
- O(n+m)
- O(n*m)
- O(n log m)
- O(m log n)
第 7 题 下列场景中,最不适合使用 KMP 的是( )。 {{ select(7) }}
- 一篇文章中查找某个关键词
- 多次查询不同模式串是否在文本串中
- 多次匹配同一个模式串
- 避免暴力匹配的低效
第 8 题 字典树(Trie)的核心存储结构是( )。 {{ select(8) }}
- 哈希表
- 多叉树
- 二叉树
- 链表
第 9 题 字典树不能高效完成的操作是( )。 {{ select(9) }}
- 统计字符串出现次数
- 查询字符串是否存在
- 查询字符串最长回文子串
- 查询有多少字符串以某个前缀开头
第 10 题 往字典树中插入 n 个总长度为 L 的字符串,时间复杂度是( )。 {{ select(10) }}
- O(L)
- O(n log L)
- O(n^2)
- O(L^2)
第 11 题 Manacher 算法专门用于解决什么问题( )。 {{ select(11) }}
- 字符串匹配
- 求字符串中最长回文子串
- 字符串去重
- 字符串哈希
第 12 题 Manacher 算法为什么要在字符间插入无关字符(如 #)( )。 {{ select(12) }}
- 让字符串变长
- 统一处理奇数长度、偶数长度的回文串
- 降低哈希冲突
- 方便字典树存储
第 13 题 Manacher 算法的时间复杂度是( )。 {{ select(13) }}
- O(n)
- O(n^2)
- O(n log n)
- O(2^n)
第 14 题 下列四种算法中,只能处理回文问题的是( )。 {{ select(14) }}
- 字符串哈希
- KMP
- 字典树
- Manacher
第 15 题 想要实现「多模式串快速匹配」,最优选择是( )。 {{ select(15) }}
- 多次使用 KMP
- 字符串哈希暴力比对
- 字典树 / AC 自动机
- Manacher