算法编程题-字符串类型题目
来源:互联网 发布:现在开童装淘宝店 编辑:程序博客网 时间:2024/05/16 14:30
1.介绍
在笔试面试中,字符串类型题目相当广泛,原因有一下几点:
1.字符串可以看做是字符类型的数组,与数组的排序、查找、调整有关
2.很多其他类型的题目最终可能会转化成字符串类型的题目
2.需要掌握的几个概念
1.回文
2.子串(连续)
3.子序列(不连续)
4.前缀树(Trie树)
5.后缀树和后缀数组
6.匹配
7.字典序
3.字符串题目常见类型
1.规则判断
判断字符串是否符合整数规则
判断字符串是否符合浮点数规则
判断字符串是否符合回文字符串规则
2.数字运算
int和long类型表达的整数范围有限,所以经常使用字符串来实现大整数,实现与大整数相关的运算
3.与数组操作有关的类型
数组有关的调整、排序等操作
快速排序的划分过程需要掌握和改写
4.字符计数
解决方案:哈希表、固定长度的数组(c/c++ 256长度、java中65536长度)
相关其他问题:滑动窗口问题、寻找无重复字符子串问题、计算变位词问题等
5.动态规划问题
最长公共子串
最长公共子序列
最长回文子串
最长回文子序列等
6.搜索类型
宽度优先搜索
深度优先搜索
比如:给定两个被打乱的字符串A和B,每次只能交换一次字符,如何把A变成B,打印这种变换轨迹
7.高级算法和数据结构解决的问题
Manacher算法解决最长回文子串问题
KMP算法解决字符串匹配问题
前缀树结构
后缀树和后缀数组
通常面试中很少出现,因为当场事先比较复杂
阅读全文
1 0
- 算法编程题-字符串类型题目
- 字符串类型题目
- [编程题] LeetCode上的Reservoir Sampling(蓄水池算法)类型的题目
- 字符串算法题目
- [编程题] LeetCode上的Palindrome(回文)类型的题目
- [编程题] LeetCode上的Tree类型的题目
- 编程题目C++字符串相关
- 编程题目:格式化名字字符串
- js 字符串反转编程题目
- 算法题目---字符串的排列
- 算法面试字符串-题目1
- Java经典算法编程题目
- 字符串距离(编程之美题目) &&& 最长公共子序列(算法导论)
- 字符串相关类型题目及其实现
- ACM-ICPC 竞赛算法题目类型
- 字符串类型的算法面试
- Java编程题目-12:字符串的construct
- 面试经典题目:字符串的反转算法
- 5.1.2—二叉树的遍历—Binary Tree Inorder Traversal
- 上楼梯
- TF随笔-13
- HDU 6069 Counting Divisors【素数筛法】
- First Time
- 算法编程题-字符串类型题目
- 5.1.3—二叉树的遍历—Binary Tree Postorder Traversal
- 前 言 (全集PDF版下载)
- 5.1.4—二叉树的遍历—Binary Tree Level Order Traversal
- Union与Union All 区别
- 5.1.5—二叉树的遍历—Binary Tree Level Order Traversal II
- Android7.0中尝试传递 file:// URI 会触发 FileUriExposedException
- docker~swarm搭建docker高可用集群
- 嵌入式linux基础面试题