public class FirstShowOnlyOnceElement {
/**Q17.在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b
* 1.int[] count:count[i]表示i对应字符出现的次数
* 2.将26个英文字母映射:a-z <--> 0-25
* 3.假设全部字母都是小写
*/
public static void main(String[] args) {
String str="abaccdeff";
int index=find(str);
if(index!=-1){
char firstShowOnlyOnceElement=str.charAt(index);//charAt() source code:return value[index + offset];
System.out.println(firstShowOnlyOnceElement);
}
}
//return the index of firstShowOnlyOnceElement
public static int find(String str){
if(str==null||str.length()==0){
return -1;
}
int len=str.length();
char[] letters=str.toCharArray();
//In java,'char' is 16 bits,so there are 2^16 characters.
//But we deal with only the 26 English letters in this case.
int[] count=new int[26];//the 'HashTable'
for(int i=0;i<len;i++){
char curChar=letters[i];
count[curChar-'a']++;
}
for(int i=0;i<len;i++){
char curChar=letters[i];//iterate the string,not the HashTable
if(count[curChar-'a']==1){
return i;
}
}
return -1;
}
}
分享到:
相关推荐
java 寻找指定字符第一次出现的位置 java 寻找指定字符第一次出现的位置
去掉重复的字符串及在第一个字符串中删除在第二个字符串中出现的字符两个程序,vs2013已经验证
查询字符串在字符串中的索引位置
在java算发中,求出字符串第一个数字; 如:“sdf545654afd” 他会返回,5,返回类型是(int)类型 如果字符串是:“打发士大夫” 则返回;-1, 想要运行,加入main()就行了。
这个方法用来处理java中可能有一些特别的需要,一大串中英文混合,需要中间截断或是中英中间添加一些特别的标识,调用这个方法 第一个参数是要处理的字符串,第二个是要在中英字符中间插入的字符。调用就可以得到想...
解决截取字符串中带有汉字的问题,以防截取时汉字截取一般出现错误情况
(b)改进程序,当第一个字符串包含在第二个字符串中时,显示第一个字符串在第二个字符串中的起始位置。 (c)改进程序,即使当用户输入顺序错误时(第一个是长字符串,第二个是短字符串),能自动在长字符串中搜寻短字符...
使用java实现一个字符串统计程序,输入若干字符串,统计每一行的空格数以及总的空格数 资源包括: 1.CountSpace.java 2.CountSpace程序流程图.vsd 3.CountSpace使用说明.docx 4.CountSpace.exe 5.test.txt
它有两种形式,第一种形式用一个字符在调用字符串中所有出现某个字符的地方进行替换,形式如下: String replace(char original,char replacement) 例如:String s="Hello".replace('l','w'); 第二种形式...
在Java中对于字符串数组的排序,我们可以使用Arrays.sort(String[])方法很便捷的进行排序。例如: String[] arrays = new String[] { gyu, sdf, zf, 大同, 收到, 地方, 三等分, 的人, 反对高铁, 泛代数, 上的投入...
Java第6章 字符串 含源代码 Java第6章 字符串 含源代码 Java第6章 字符串 含源代码 Java第6章 字符串 含源代码 Java第6章 字符串 含源代码
String类是字符串常量类,该类对象在建立后不能修改。Java编译器保证每个字符串常量都是String类对象。用双引号括住的一串字符即...因而,实例化一个String类对象既可以通过字符串常量,也可以通过系统提供的构造方法。
java java_leetcode面试题解哈希表第387题字符串中的第一个唯一字符_题解
String 字符串操作工具类,sql防注入方法 过滤通过页面表单提交的字符 用特殊的字符连接字符串 将字符串数组转换为逗号链接的字符串,并且去掉最后一个逗号 分割字符串 字符串字符集转换 编码转换方法 将html文档...
利用java实现求某个字符串正向和反向的最大公共字符串,如ABCDCBA输出ABCDCBA,ABCDE输出A因为A是第一个,ABCDEDC输出CDEDC.
(2)public void stringOperate(),其中调用适当的字符串操作完成(a)判断两个字符传”abc”和”acb”是否相同,(b)输出"c:\\java\\jsp\\A.java"中第二次出现"\\j"的位置,并输出该位置起到串末的子串 3. 创建包...
编写程序,该程序实现打开一个文本文件,每次读取一行内容,将每行作为一个字符串读入,并将字符串输出显示到屏幕上。
Java语言程序设计 第6章 字符串 Java语言程序设计(第3版)第06章-字符串全文共31页,当前为第1页。 6.1.1 1 String类 2 3 主要内容 Java语言程序设计(第3版) 格式化输出 StringBuilder类 Java语言程序设计(第3版)第06...
主要介绍了java实现输出字符串中第一个出现不重复的字符详解的相关资料,需要的朋友可以参考下
2) 熟悉Java中字符串的使用。 1)数组的基本操作,包括创建数组,填充数组,访问数组,拷贝数组,数组排序,数组查找。 2)编写一个猜密码的小程序,规则如下:程序首先产生一个三位数的密码,例如“025”,用户每次...