zoukankan      html  css  js  c++  java
  • 华为:字符集合

    字符集合
    输入一个字符串,求出该字符串包含的字符集合
    输入描述:
    每组数据输入一个字符串,字符串最大长度为100,且只包含字母,不可能为空串,区分大小写。
    输出描述:
    每组数据一行,按字符串原有的字符顺序,输出字符集合,即重复出现并靠后的字母不输出。
    输入例子:
    abcqweracb
    输出例子:
    abcqwer

    解题

    标记法时间复杂度太差了,可以用HashMap增加了空间复杂度

    我的标记法
    import java.util.Scanner;
    public class Main{
        public static void main(String[] args){
            Scanner in = new Scanner(System.in);
            while(in.hasNext()){
                String  str = in.next();
                char[] chars = str.toCharArray();
                for(int i = 0;i<chars.length;i++){
                    for(int j =i+1;j< chars.length;j++){
                        if(chars[i]!='+' && chars[i] == chars[j]){
                            chars[j] = '+';
                        }
                    }
                }
                String res ="";
                for(int i =0;i<chars.length ;i++){
                    if(chars[i] != '+'){
                        res += chars[i]+"";
                    }
                }
                String res2 = String.valueOf(chars);
                //System.out.println(res);
                System.out.println( res2.replaceAll("[+]","") );
                 
            }
        }
    }
    这样标记是比较好的
    import java.util.Scanner;public class Main{
        public static void main(String[] args){
            Scanner in = new Scanner(System.in);
            while(in.hasNext()){
                String  str = in.next();
                int[] A = new int[256];
                for(int i = 0;i< str.length() ;i++){
                    char ch = str.charAt(i);
                    A[ch]++;
                }
                String res="";
                for(int i = 0;i< str.length();i++){
                    char ch = str.charAt(i);
                    if(A[ch]!=0){
                        res+=ch;
                        A[ch] = 0;
                    }
                }
                System.out.println(res);
                
            }
        }
    }
  • 相关阅读:
    TypeError: can't compare offset-naive and offset-aware datetimes bugfix
    pg_restore数据库恢复指令
    第四十期百度技术沙龙笔记整理
    JS事件模型小结
    matlab Newton method
    Markdown 语法的简要规则
    iOS社交分享Twitter、Facebook、拷贝到剪切板、LINE、及邮件
    Linux系统调用过程分析
    iOS自己定义返回button(不影响返回手势)
    MAVEN项目模块化
  • 原文地址:https://www.cnblogs.com/bbbblog/p/5289306.html
Copyright © 2011-2022 走看看