zoukankan      html  css  js  c++  java
  • 字符串去重

    这是我曾经的一道面试题:

    1.双向链表如何循环,如何插入一条数据?

    2.一个字符串如何用最简单的方法查出重复的字母? 
    例如:String str = “agdbadbjja”

    最优时间复杂度:

    private static void test() {
            String str =  "agdbadbjja";
            Map<Object,Integer> maps = new HashMap<>();
    
            for (int i = 0; i < str.length(); i++) {
                char charAt = str.charAt(i);
                if (maps.get(charAt) != null) {
                    Integer integer = maps.get(charAt);
                    maps.put(charAt, ++integer);
                }else{
                    maps.put(charAt, 1);
                }
            }
    
            Set<Object> keySet = maps.keySet();
            for (Object string : keySet) {
                Integer integer = maps.get(string);
                System.out.println("key:  " + string + "        " + "value:  " + integer);
            }
        }
    打印结果:
    key:  a        value:  3
    key:  b        value:  2
    key:  d        value:  2
    key:  g        value:  1
    key:  j        value:  2

    去重:

    /**
         * 去重
         */
        private static void demo(){
            String str =  "agdbadbjja";
            StringBuffer strb = new StringBuffer();
            List  lists = new ArrayList<>();
            for (int i = 0; i < str.length(); i++) {
                if (!lists.contains(str.charAt(i))) {
                    lists.add(str.charAt(i));
                    strb.append(str.charAt(i));
                }
            }
            System.out.println(strb.toString());
        }
  • 相关阅读:
    GC原理知多少
    C# 编译运行原理
    NetCore无需添加web/wcf引用来调用webservice
    WPF基础知识-资源概述
    WPF基础知识-XAML概述
    WPF入门-使用C#创建简单应用
    WPF概述
    Entity Framework Core
    Entity Framework Core
    Entity Framework Core
  • 原文地址:https://www.cnblogs.com/cxxjohnson/p/9088300.html
Copyright © 2011-2022 走看看