1. 有序数列二分查找
最简单,最纯粹的二分查找问题,应该是用循环的方法去做的话会得分较高。
2. 寻找第一个出现两次的字符
举个例子:字符串“yactysa”中第一个出现了两次的字符串是‘y‘
解法1: O(n^2)的效率。也就是最简单的两重循环。
解法2: 更好也更多被采用的,hash方法。定义一个256的数组就可以了。
3. 多个字符串中,搜索“your”子串,并按出现次数排序
详述题目:给出一个文本输入,要求输出所有包含子串“your”的行,不考虑大小写。并且将行按照your出现的次数由高到低先后输出。
涉及了子串问题,很容易想到的是KMP算法。但"your” 中每个字母都不重复,所以可以简化判断,如果遇到不相同的字符,则直接将当前位置与子串下标为0的字符进行比较。
时间: 2024-08-27 07:32:09