java删除重复字符串
2019-05-14 00:52
183 查看
1. 删除重复字符串,只包含'a-z'
method 1
[code]import java.util.*; import java.io.*; public class Text{ public static void main(String[] args)throws IOException { InputStreamReader input = new InputStreamReader(System.in); BufferedReader bf = new BufferedReader(input); String s = bf.readLine(); char[] c = s.toCharArray(); int[] flags = new int[26]; StringBuffer sb = new StringBuffer(); for(int i = 0; i < c.length; i++){ if(flags[c[i]-'a'] == 0){ flags[c[i] -'a'] = 1; sb.append(c[i]) ; } } System.out.println(sb); } }
method 2
不管有无限制是字母
[code]import java.util.*; import java.io.*; public class Test{ public static void main(String[] args)throws IOException { InputStreamReader input = new InputStreamReader(System.in); BufferedReader bf = new BufferedReader(input); String s = bf.readLine(); ArrayList <String> list = new ArrayList<>(); for(int i = 0; i < s.length(); i++){ String a = s.substring(i,i+1); if(!list.contains(a)){ list.add(a); } } String res = ""; for(String ab : list){ res += ab; } System.out.println(res); } }
小总结:感觉好久没做题,牛客网页面编辑真的不好打,特别联想功能太难受了=。=
API文档说明:InputStreamReader类是从字节流到字符流的桥接器:它使用指定的字符集读取字节并将它们解码为字符。 它使用的字符集可以通过名称指定,也可以明确指定,或者可以接受平台的默认字符集。每次调用一个InputStreamReader的read()方法都可能导致从底层字节输入流中读取一个或多个字节。 为了实现字节到字符的有效转换,可以从基础流中提取比满足当前读取操作所需的更多字节。为了获得最高效率,请考虑在BufferedReader中包装InputStreamReader
引用自:https://blog.csdn.net/ai_bao_zi/article/details/81133476
[code]InputStreamReader input = new InputStreamReader(System.in); BufferedReader bf = new BufferedReader(input); or BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
关于字符串与各种数组的简单整理
[code]//String s 的length s.length(); //获取string的某个字符 String a = s.substring(i,i+1); //获取某个字符,为char,索引范围为从 0 到 length() - 1 char a = s.charAt(i); String string = "aaa456ac"; string.indexOf("b");// indexOf(String str); 返回结果:-1,"b"不存在 string.indexOf("a",3); ////indexOf(String str, int fromIndex); 返回结果:6 从第四个字符位置开始往后继续查找,包含当前位置 string.indexOf(99); //(与之前的差别:上面的参数是 String 类型,下面的参数是 int 类型)参考数据:a-97,b-98,c-99, indexOf(int ch);返回结果:7 string.indexOf('c'); //indexOf(int ch);返回结果:7 string.indexOf(97,3); //indexOf(int ch, int fromIndex); 返回结果:6 从fromIndex查找ch,这个是字符型变量,不是字符串。字符a对应的数字就是97。 string.indexOf('a',3);//indexOf(int ch, int fromIndex); 返回结果:6 //char[] chs, chs.length; //int[] in的length in.length //ArrayList array<T> = new ArrayList<>(); array.size()
method 3使用hashmap or hashset
两者区别:http://www.importnew.com/6931.html
待更---------------------------------------------------------------------------------------------------------
相关文章推荐
- JAVA删除重复字符串
- Java删除字符串中重复的String类型的字符
- 字符串--java面试题, 首个重复字符串,二分查找
- 给定一字符串,求字符串中第一次出现的非重复的字符,例如abaaedgff,输出b.(Java 实现)
- 索引临时表【Oracle】比较快的删除重复数据的方式Strut2教程-java教程
- Java练习题-删除Map中值重复的键值对
- Java删除ArrayList中的重复元素
- Python 字符串,list排序,删除重复数据
- java——定义一个功能将ArrayList 集合中的重复元素删除(java集合七)
- java删除list中的重复元素
- 删除字符串中重复字符
- java删除字符串中的指定字符
- Java中删除数组中重复元素
- Java实现-判断字符串是否没有重复字符
- 【整理】删除顺序容器(如:vector)中的重复字符串
- JAVA基础 - 删除字符串中指定字符串的方法
- 删除字符串重复的字符
- java实现list清除重复的字符串;arraylist动态数组;角谷定理最终得1,找出10000以内哪个数字的步骤最长
- java中删除数组中的指定元素方法,数组和字符串互相转化方法
- [算法] 定义一个函数,删除字符串中所有重复出现的字符。