称号:

  1. 请写一个字符串过滤程序,如果使用多个相同的字符出现在字符串中,字符首次出现在非过滤,。

  2. 比方字符串“abacacde”过滤结果为“abcde”。
  1. 演示样例
  2. 输入:“deefd”        输出:“def”
  3. 输入:“afafafaf”     输出:“af”
  4. 输入:“pppppppp”     输出:“p”

分析: 看到这样的类似的同样字符过滤。使用java的话我们第一个想到的应该就是set这个集合,这个集合可以有效的处理掉反复的元素。 接下来就是顺序问题了,这里是保持字符原有的顺序,所以我们得选用一个实现set的类来存储这些字符。 没错LinkedHashSet可以非常好的解决我们的问题。接下来就是写程序的事了

代码例如以下:

package com.wenj.test;



import java.util.Iterator;

import java.util.LinkedHashSet;

import java.util.Set;



/**

 * 题目:



    请编写一个字符串过滤程序。若字符串中出现多个同样的字符,将非首次出现的字符过滤掉。

    比方字符串“abacacde”过滤结果为“abcde”。



    演示样例  

    输入:“deefd”        输出:“def”

    输入:“afafafaf”     输出:“af”

    输入:“pppppppp”     输出:“p”   

 * @author wenj91-PC

 *

 */

public class TestStrFilter {



    public static void main(String args[]){

        String strIn = "pppppppp";

        TestStrFilter ts = new TestStrFilter();

        System.out.println(ts.strFilter(strIn));

    }

    

    public String strFilter(String strIn){

        String strTemp = strIn;

        char[] str2C = strTemp.toCharArray();

        

        Set<Character> cs = new LinkedHashSet<Character>();

        for(int i=0; i<str2C.length; i++){//利用set实现字符过滤

            cs.add(str2C[i]);

        }

        

        String temp = "";

        for(Iterator<Character> it=cs.iterator(); it.hasNext(); ){//又一次组合字符串

            temp += it.next();

        }

        

        return temp;

    }

}

版权声明:本文博主原创文章。博客,未经同意不得转载。

华为-on练习--重复的字符过滤的更多相关文章

  1. 输入一个字符串,去掉重复的字符,并按ASCII值排序-华为机试

    import java.util.Scanner; //输入字符串,去掉重复的字符,并按ASSIC码值排序 public class quChong { public static void main ...

  2. 找出字符串中第一个不重复的字符(JavaScript实现)

    如题~ 此算法仅供参考,小菜基本不懂高深的算法,只能用最朴实的思想去表达. //找出字符串中第一个不重复的字符 // firstUniqueChar("vdctdvc"); --& ...

  3. 删除重复的字符(给一个字符串,删除连续重复的字符,要求时间复杂度为O(1)……)

    // singal.cpp : Defines the entry point for the console application.// #include "stdafx.h" ...

  4. java 非法字符过滤 , 半角/全角替换

    java 非法字符过滤 , 半角/全角替换 package mjorcen.netty.test1; import java.io.UnsupportedEncodingException; publ ...

  5. jst通用删除数组中重复的值和删除字符串中重复的字符

    以下内容属于个人原创,转载请注明出处,非常感谢! 删除数组中重复的值或者删除字符串重复的字符,是我们前端开发人员碰到很多这样的场景.还有求职者在被面试时也会碰到这样的问题!比如:问删除字符串重复的字符 ...

  6. 剑指Offer-字符流中第一个不重复的字符

    package String; import java.util.LinkedHashMap; import java.util.Map; /** * 字符流中第一个不重复的字符 * 题目描述 * 请 ...

  7. Java入门:基础算法之从字符串中找到重复的字符

    本程序演示从一个字符串中找出重复的字符,并显示重复字符的个数. import java.util.HashMap; import java.util.Map; import java.util.Set ...

  8. java web过滤器实际应用(解决中文乱码 html标签转义功能 敏感字符过滤功能)

    转载地址:http://www.cnblogs.com/xdp-gacl/p/3952405.html 在filter中可以得到代表用户请求和响应的request.response对象,因此在编程中可 ...

  9. UniCode编码表及部分不可见字符过滤方案

    Unicode编码表/0000-0FFF 图例: Unicode 3.1 Unicode 1.0 Unicode 3.2 Unicode 1.1 Unicode 4.0 Unicode 2.0 Uni ...

随机推荐

  1. swift-辞典NSDictionary定义,变化的关键,删/加入关键

    // Playground - noun: a place where people can play import UIKit //--------------------------------- ...

  2. jquey :eq(1)

    $("#div_Goods .datagrid-row .numberbox:eq(1)") $("#div_Goods .datagrid-row .numberbox ...

  3. Python使用subprocess的Popen要调用系统命令

    当我们须要调用系统的命令的时候,最先考虑的os模块.用os.system()和os.popen()来进行操作.可是这两个命令过于简单.不能完毕一些复杂的操作,如给执行的命令提供输入或者读取命令的输出, ...

  4. dbus 和 policykit 实例篇(python) ()转

    使用policykit 的程序一般都有一个dbus daemon程序来完成相关操作,这个dbus daemon 会在系统注册一个system bus 服务名,用于响应要求root privileged ...

  5. 深入理解spring中的各种注解(转)

    Spring中的注解大概可以分为两大类: 1)spring的bean容器相关的注解,或者说bean工厂相关的注解: 2)springmvc相关的注解. spring的bean容器相关的注解,先后有:@ ...

  6. [LeetCode283]Move Zeros将一个数组中为0的元素移至数组末尾

    题目: Given an array nums, write a function to move all 0's to the end of it while maintaining the rel ...

  7. 构建安全的Xml Web Service系列之SSL篇

    原文:构建安全的Xml Web Service系列之SSL篇 首先介绍一下SSL, SSL 的英文全称是 "Secure Sockets Layer" ,中文名为 "安全 ...

  8. 一个小的日常实践——高速Fibonacci数算法

    上得厅堂.下得厨房.写得代码,翻得围墙,欢迎来到睿不可挡的每日一小练! 题目:高速Fibonacci数算法 内容:先说说Fibonacci数列,它的定义是数列:f1,f2....fn有例如以下规律: ...

  9. C++ Primer 学习笔记_33_STL实践与分析(7) --容器适配器

    STL实践与分析 --容器适配器 引: 除了顺序容器.标准库还提供了三种顺序容器适配器:queue,priority_queue和stack.适配器是标准库中的概念.包含容器适配器,迭代器适配器和函数 ...

  10. 【UML】概念、关联、画画(一)

    最近画UML画画,于UML观看视频后还没有学会.它是的结果UML九图是不是太懂,我想加深绘制过程的理解,我一个新的水平. 现在我觉得是时候..地介绍一下UML.了解一下它的基本内容.达到深入浅出的效果 ...