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);
                
            }
        }
    }
  • 相关阅读:
    无刷新分页实现
    .Net QQ互联教程
    解决 Files 的值"<<<<<<< HEAD"无效。路径中具有非法字符
    mvc 路由伪静态实现
    C# 获取外网IP地址
    mvc开发网站打开慢总结
    如何轻松实现个性化推荐系统
    js 颜色选择插件
    MVC+EF 多条件查询
    前端编写手机兼容页面(简易方式)
  • 原文地址:https://www.cnblogs.com/bbbblog/p/5289306.html
Copyright © 2011-2022 走看看