/**
* 编写一个高效率函数来找出一个字符串中第一个无重复字符.
* 例如:”total”中的o,”teeter”中的r.要求算法效率优于O(n2).函数调用模型如下:
* Public static Character FirstNoRepeated(String str);
*/
public class FirstNoRepeated {
public static void main(String[] args) {
System.out.println(FirstNoRepeated("total"));
System.out.println(FirstNoRepeated1("teeter"));
}
/**
* 利用map记录字符串中每个字符的个数
* @param str
* @return
*/
public static Character FirstNoRepeated(String str){
Map<Character,Integer> map = new HashMap<Character,Integer>();
for(int i=0; i<str.length();i++){
if(!map.containsKey(str.charAt(i))){
map.put(str.charAt(i), 1);
}else{
Integer k = map.get(str.charAt(i));
map.put(str.charAt(i), ++k);
}
}
//按字符串的顺序返回首次出现的字符
for(int i = 0 ; i < str.length(); i++){
if(map.get(str.charAt(i)) == 1){
return str.charAt(i);
}
}
return null;
}
/**
* 方式一:双重循环
* @param str
* @return
*/
public static Character FirstNoRepeated1(String str){
int count = 0;
char c;
//拿出每位中的每个字符与原字符串中的每个字符进行比较并记录出现的次数
for(int i=0;i<str.length();i++){
c = str.charAt(i);
for(int j=0;j<str.length();j++){
char cc = str.charAt(j);
if(c == cc){
count ++;
}
}
//返回首次出现的第一个字符
if(count == 1){
return c;
}
count = 0;
}
return null;
}
}
分享到:
相关推荐
python 找出字符串中第一个匹配项的下标.mdpython 找出字符串中第一个匹配项的下标.mdpython 找出字符串中第一个匹配项的下标.mdpython 找出字符串中第一个匹配项的下标.mdpython 找出字符串中第一个匹配项的下标.md...
根据给定的文件信息,我们可以总结出以下关于“求一个字符串中的连续出现次数最多的字串”的相关知识点: ### 一、问题定义与分析 #### 1.1 问题背景 在计算机科学中,字符串处理是常见且重要的任务之一。本问题是...
在编程竞赛(OJ)中,"在字符串中找出连续最长的数字串"是一道典型的字符串处理问题。它要求我们从一个给定的字符串中找到最长的一段连续的数字序列。这个问题涉及到字符串遍历、字符判断以及动态规划或滑动窗口等...
这个名为"找到字符串S第一个不在T中出现的字符"的程序,旨在解决一个特定的字符串问题:从两个单链表存储的字符串S和T中,找出字符串S中第一个不在字符串T中出现的字符。 首先,我们要理解链表和字符串的基本概念。...
在随意给出的2个字符串中,找出它们共同的最长的子串。 【输入】 输入文件的第一行为一个整数2,接下来有2行,每行为一个字符串,每个字符串的长度均小于255。 【输出】 输出只有一行,即:共同的最长子串,若有多个...
题目要求我们找出字符串`t`中所有不在字符串`s`中出现的字符,并按照`t`中的顺序排列组成新的字符串存储到`p`所指向的空间里。同时,新字符串`p`中不能包含重复的字符。 - **示例一**:如果`s`为"12345",而`t`为...
入一个字符,再输入一个以回车结束的字符串(少于80个字符)在字符串中查找该字符。
标题中的“获取一个字符串中的数字组”是指从包含数字和非数字字符的字符串中提取连续的数字,并将它们作为整数处理。描述中提到的任务是输入一个字符串,例如"a123x456_17960? 302tab5876",从中找出所有的连续数字...
- **处理边界情况**:如果找不到更多的分隔符,则默认将`@location`设置为字符串的长度加1,以便正确截取出最后一个子字符串。 - **返回子字符串**:利用`SUBSTRING`函数根据`@start`和`@location`的值截取第n个子...
标题 "比较字符串1" 描述的是一个算法训练问题,旨在比较两个字符串的字典序,并在它们不相等时找出第一个不同的字符。这个问题涉及到的主要知识点包括字符串操作、字典序比较以及基本的ASCII码理解。 首先,我们...
这个函数会返回一个指向字符串中第一个出现`c`字符的位置的指针。如果在字符串中找不到`c`,则返回`NULL`。 例如,在以下代码中,我们查找字符'5'在字符串"s"中的首次出现位置: ```c #include #include int ...
本篇文章将探讨一个具体的编程问题:如何找出两个字符串中相同的字符或子串,并通过一个具体的Java示例代码来解释这一过程。 #### 解决方案概述 为了实现这一目标,我们可以采用一种简单而有效的方法:首先将每个...
1130:找第一个只出现一次的字符 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 82755 通过数: 31415 【题目描述】 给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。 【输入...
在计算机科学中,查找两个字符串中的最大公共子串是一个非常实用的问题,它广泛应用于文本处理、生物信息学等多个领域。例如,在文本处理中,我们可能需要比较两篇文档之间的相似度;在生物信息学中,则可以用于比较...
2. **遍历字符串**:首先遍历第二个字符串 `str2` 的每个字符,然后对于每个字符位置,再次遍历该位置之后的所有子串,并检查这些子串是否也存在于第一个字符串 `str1` 中。 3. **存储子串**:如果找到了相同的子串...
下面程序的功能是删除字符串中第一次出现的a字符。其中有两处错误.cpp
5. **遍历第一个字符串**:使用`match()`方法,找到第一个字符串中与正则表达式匹配的所有字符: ```javascript var matches1 = str1.match(regex); ``` 然后,将这些匹配的字符添加到`uniqueChars`数组中。 6....
LeetCode问题28要求实现strStr()函数,即在一个主字符串(haystack)中找出第一个出现的指定子字符串(needle)的索引,如果不存在,则返回-1。如果needle为空字符串,返回0。 这段Fortran程序定义了一个strStr函数,它...