关于”字符串“的笔试题集锦Ⅰ - 七月算法 - julyedu.com



关于"字符串"的笔试题集锦Ⅰ - 七月算法 - julyedu.com

1、字符串反转
实现字符串反转函数。例如,"July"反转后变成"yluJ"。

2、字符的左右移动
给定一个字符串,这个字符串为*号和26个字母的任意组合。现在需要把字符串的*号都移动到最左侧,而把字符串中的字母移动到最右侧并保持相对顺序不变,要求时间复杂度和空间复杂度最小。

3、字符个数的统计
给定一个字符串,写一个函数,查找出字符串中每个字符出现的次数,要求区分大小写,且时间复杂度为O(n)。

4、字符串的匹配
在一篇英文文章中查找指定的人名,人名使用26个英文字母(可以是大写或小写)、空格及两个通配符(*和?)组成。通配符*表示零个或多个任意字母,通配符?表示一个任意字母。例如,"J*Smi??"可以匹配"John Smith"。

5、字符串空格的压缩
给定一个字符串,将其中连续出现的空格压缩为1个后,将其中以空格分隔的每个字符串逆序打印出来。例如,"abc efg hij"的打印结果为"cba gfe jih"。

6、重复字符的压缩
通过键盘输入一串小写字母(a-z)组成的字符串。请编写一个字符串压缩编程序,对字符串中连续出现的重复字母进行压缩,并按要求输出压缩后的字符串。
具体压缩规则是:仅压缩连续重复出现的字符。例如,字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc"。压缩后输出的格式要求为有重复的字符按"字符重复的次数+字符"输出,无格式的字符原样输出。例如,字符串"xxxyyyyyyz"压缩后输出为"3x6yz",字符串"cccddecc"压缩后输出为"3c2de2c",字符串"adef"压缩后输出为"adef",字符串"pppppppp"压缩后输出为"8p"。

7、第一个只出现一次的字符
在一个字符串中找到第一个只出现一次的字符。例如,输入"abaccdeff",则输出b。

8、删除特定的字符
给定一个原始字符串和模式字符串,要求在原始字符串中删除所有在模式字符串中出现过的字符,对应位置用空格占位。要求性能最优。例如,原始字符串为"They are students.",模式字符串为"aeiou",那么删除之后得到的字符串为"Thy r stdnts."。

9、字符串集合的合并
给定一些字符串的集合,要求将其中交集不为空的集合合并,且合并完成后的集合之间无交集。例如,当给定这些字符串的集合{aaa,bbb,ccc}、{bbb,ddd}、{eee,fff}、{ggg}、{ddd,hhh},结果应输出{aaa,bbb,ccc,ddd,hhh}、{eee,fff}、{ggg}。
提示:这种不相交集合的合并及查询问题,可以考虑使用并查集解决。

10、集合的差集
已知集合A和集合B的元素分别用不含头结点的单向链表存储,求集合A与集合B的差集,并将结果保存在集合A的单向链表中。例如,若集合A={5,10,20,15,25,30},集合B={5,15,35,25},它们的差集为A={10,20,30}。

Read full article from 关于"字符串"的笔试题集锦Ⅰ - 七月算法 - julyedu.com


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts