1.字符串中的第一个字符
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回-1。
2.找不同
给定两个字符串s和t,他们只包含小写字母。
字符串t由字符串s随机重排,然后在随机位置添加一个字母。请找出t中被添加的字母。
思路:可以使用计数排序
3.最长回文串
给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。
4.找到字符串中所有字母异位词
给定一个字符串s和一个非空字符串p,找到s中所有是p的字母异位词的子串,返回这些子串的起始索引。字母异位词指字母相同,但排列不同的字符串。
思路:利用滑动窗口防止超时
5.回旋镖的数量
给定平面上n对不同的点,“回旋镖”是由点表示的元祖(i,j,k),其中i和j之间的距离和i和k之间的距离相等(需要考虑元祖的顺序)。
找到所有回旋镖的数量。
思路:对于每一个点i,建立一个哈希表,key=其他点到点i的距离平方,value=计数。