• 【原创】查找字符的出现次数(二)


    哈哈,今天同学给来一段代码

    private Map<Integer, Integer> mFuction2(int n[]){
            Map<Integer,Integer> map = new HashMap<Integer,Integer>();
            for(int i=0;i<n.length;i++){
                int key = n[i];
                Integer value = map.get(key); 
                if(value != null){
                    map.put(key, ++value);
                }else{
                    map.put(key, 1);
                }
                timeKeeper1++;
            }
            return map;
        }

    看完之后简直羡慕嫉妒恨啊,这简洁得。。佩服佩服

    我为什么要加个List呢?(完全手贱)

    为什么我的那个算法的复杂度会那么差呢?

    这种思想的算法复杂度就是由字符串的长度来决定的,一串字符,每个字符都只用一次判断,有则value++,无则put(key,1)

    还有如果加个cache块能优化了么,为什么要加cache块?(加毛的cache块啊,逗比啊!map.get(key)就OK了,除非去优化get算法,缩短查找时间,这个复杂度就这样了。。目前我就只能想到这了。。)

    WTF....

  • 相关阅读:
    常见面试题
    3*0.1 == 0.3 将会返回什么?true 还是 false?
    poj_2186 强连通分支
    强连通分量、割点、桥
    最小生成树
    poj_2349 Kruskal 最小生成树
    poj_1258 prim最小生成树
    最短路径
    poj_1125 Floyd最短路
    poj_1860 SPFA
  • 原文地址:https://www.cnblogs.com/H-Col/p/4409356.html
Copyright © 2020-2023  润新知