java中映射的字符串时间复杂性
使用映射查找字符串中每个字符的出现情况的程序的时间复杂度是多少?与其他解决方案相比,使用it是否有效
for(int i=0; i<s.length(); i++)
{
if(map.containsKey(s.charAt(i)))
map.put(s.charAt(i),map.get(s.charAt(i))+1);
else
map.put(s.charAt(i),1);
}
# 1 楼答案
.put()
和.get()
的HashMap
是O(1)
恒定时间此代码的时间复杂度为
O(n)
,其中n
是s
的长度