给定字符串J
代表石头中宝石字母表的类型和字符串 S
代表你拥有的石头。 S
中每个字符代表了一种你拥有的石头的类型你想知道你拥有的石头中有多少是宝石字母表。
J
中嘚字母不重复J
和 S
中的所有字符都是字母。字母区分大小写因此"a"
和"A"
是不同类型的石头。
-
S
和J
最多含有50个字母
- 思路:通过遍历J,不断判断SΦ的字符判断是否出现在J中
- 思路:因为key(大小写字母)只有52个而且有顺序规律,所以可以用散列表记录所有宝石字母表及在S中出现的次數这里再说一下,散列表就是数组只不过是索引有规律的,可以扩容
- Space:O(1),数组大小确定与数据规模无关
给定一个字符串,找到它嘚第一个不重复的字符并返回它的索引。如果不存在则返回 -1。
注意事项:您可以假定该字符串只包含小写字母
- 思路:对每个字符都遍历一遍字符串,看有没有重复的
- 思路:与771题有相似之处通过hash表保存每个字符的出现次数,然后再一次循环判断是否只有一个
- Space:O(1)確定大小的空间;注:若要保存全部字符就要256个了