今天在学习算法的时候发现了一个java的奇淫技巧的函数。
背景:
给你一个字符串,找到它第一个不重复的字符,返回字符索引。
目的:
使用HashMap getOrDefault(key, defaultValue)函数,来找到第一个不重复的字符。
过程:
我给大家解释一下使用这个函数的解这个题的基本思路哈。
就是定义一个hashmap函数map,key是字符,value是map.getOrDefault(字符,0)+1。
为啥子要+1呢。
函数的解释:getOrDefault() 方法获取指定 key 对应对 value,如果找不到 key ,则返回设置的默认值。
也就是这个字符如果不在这个新建的map中,那么就k=>1,如果在这个map中,那么就是k=>value+1;
这样的话,咱们再次循环字符串,只要查询字符在map中的value是否==1就可以了。如果等于1,那么就是第一个不重复的字符。
结果: