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);
                
            }
        }
    }
  • 相关阅读:
    linux之间文件共享的方式
    linux访问windows文件的方法
    linux下samba配置
    linux下ftp搭建
    windws下搭建ftp步骤
    索引的二元高度
    Oracle表的分析统计
    oracle———索引
    这些git技能够你用一年了
    使用 Composer 为 ThinkPHP(3.2.3)框架添加和管理组件
  • 原文地址:https://www.cnblogs.com/theskulls/p/5289306.html
Copyright © 2011-2022 走看看