当前位置: 首页 > 后端技术 > Python

LeetCode387-字符串中的第一个唯一字符FirstUniqueCharacterinaString

时间:2023-03-26 00:54:01 Python

LeetCode387:字符串中的第一个唯一字符FirstUniqueCharacterinaString题目:给定一个字符串,找到它的第一个唯一字符并返回它的第一个唯一字符指数。如果不存在则返回-1。给定一个字符串,找到其中的第一个非重复字符并返回它的索引。如果不存在,返回-1。案例:s="leetcode"返回0。s="loveleetcode",返回2。注意:你可以假设字符串只包含小写字母。注意:您可以假设该字符串仅包含小写字母。解题思路:一个很简单的问题,无非就是统计字符串中字母出现的频率,找到出现频率为1的字母的索引。借助hashmap的两次遍历。第一次遍历进行字母频率统计,HashMap的Key为字母,Value为出现频率。第二次遍历找到频率为1的字母索引并返回。与词频统计不同的是,一共只有26个字母,所以可以直接使用ASii码表中小写字母97到122的值,直接用一个int数组进行映射。创建映射:索引为小写字母的ASii码值,存储值为出现频率。Hashmap解决方案:Java:classSolution{publicintfirstUniqChar(Strings){char[]chars=s.toCharArray();//转换为Char数组Mapmap=newHashMap<>();for(Characterc:chars)map.put(c,map.getOrDefault(c,0)+1);//频率统计for(inti=0;i