`

快速查找字符串中首个重复字母算法

 
阅读更多

找出字符串中出现的首个重复字母

例“abncdbmn”,首个重复字母为b

/**
 * 
 */
package com.tao.bao;

import java.util.HashMap;

/**
 * @author moon
 *
 */
public class StringFindSame {

	/**
	 * @param args,
	 */
         //类似冒泡排序,一个一个查询
        public void findSameChar(char[] str){
		int length = str.length;
		for(int i = 0;i<length;i++)
			for(int j=i+1;j<length;j++)
			{
				if(str[i]==str[j]){
					System.out.println("-----"+str[i]);
					break;
				}
			}
	}
	//利用java特性,map中key值不可以重复
	public void findSameMap(char[] str){
		HashMap<Character, Integer> map = new HashMap<Character, Integer>();
		for(int i=0;i<str.length;i++){
			if(map.containsKey(str[i])){
				System.out.println("-----"+str[i]);
				break;
			}else
			{
				map.put(Character.valueOf(str[i]), Integer.valueOf(1));
			}
		}
	}
	
	public static void main(String[] args) {
		String str="adcbd";
		char findStr[] = str.toCharArray();
		
		StringFindSame same = new StringFindSame();
		//same.findSameChar(findStr);
		same.findSameMap(findStr);
	}

}
分享到:
评论

相关推荐

    字符串查找替换

    这类工具通常具有用户友好的界面,允许用户输入要查找的字符串和替换后的字符串,然后在大量文本中快速执行操作。对于程序员来说,这样的工具可以极大地提高工作效率,尤其是在处理大量文本数据时。 除了基本的查找...

    统计字符串中每个字母的个数

    总之,统计字符串中每个字母的个数是一个基础但重要的编程任务,它可以让我们深入了解字符串处理、字符遍历以及数据结构和算法的应用。无论是在日常开发还是面试中,这种问题都能帮助我们巩固和展示Java编程技能。

    JS获取中文拼音首字母,并通过拼音首字母快速查找页面内的中文内容

    在JavaScript(JS)编程中,有时我们需要处理中文字符并获取其对应的拼音首字母,以便进行各种操作,如快速查找、排序等。这个场景通常出现在构建具有搜索功能的Web应用,尤其是中文内容丰富的网站。本文将深入探讨...

    C#数据结构:统计输入字符串中各不同字符的出现频率

    在C#中,字符串是由Unicode字符组成的,每个字符对应一个唯一的数值。因此,A~Z的大写字母和0~9的数字在Unicode中都有固定的值。我们可以通过`char`类型来表示单个字符,而`string`类型则用于存储多个字符。 接下来...

    汉字的首字母生成算法

    此算法的核心在于对输入的汉字串进行逐字符解析,并基于每个汉字对应的拼音首字母来构建一个简短的字符串作为最终的助词码。 #### 参数与返回值 - **参数**:该算法接受一个名为 `ss` 的字符串参数,代表需要生成...

    数据结构字母字符串操作

    哈希表则用于快速查找和去重,如统计字符串中每个字符出现的次数;而树结构,如Trie树(字典树)或AC自动机,对于字符串的前缀匹配和搜索有显著优势。 在“zimu”这个文件中,很可能包含了使用不同数据结构解决字符...

    数据结构(线性表和字符串部分)

    3. **字符串处理算法**:一些经典算法如KMP(Knuth-Morris-Pratt)算法用于高效的子串匹配,Rabin-Karp算法用于字符串的快速匹配。 4. **字符串的常用函数**:C语言中的`&lt;string.h&gt;`库提供了许多字符串处理函数,如...

    字符串查找

    在给出的代码中,我们看到了一个简单的Java程序,该程序实现了基本的字符串查找功能——统计给定字符串中字母的个数。具体分析如下: ```java import java.util.Scanner; public class chap09 { public static ...

    数据结构 字符串的插入删除 查找位置

    查找字符串的位置通常指的是找到子串在主字符串中的起始索引。这可以通过简单的线性搜索实现,但效率较低。更高效的方法是使用字符串搜索算法,如KMP算法、Boyer-Moore算法或Rabin-Karp算法。这些算法利用模式匹配...

    取得汉字首字母算法

    在计算机处理汉字时,有时我们需要快速检索或者分类汉字,这时可以使用“取得汉字首字母算法”。这个算法的主要目的是获取一个汉字串中每个汉字的声母,生成首字母串,通常用于拼音排序或者关键词提取。以下是对该...

    字符串匹配

    - **基于排序和筛选**:WM算法首先对所有模式串进行排序,构建一个前缀树(Trie)结构,然后运用一种特殊的筛选机制,通过对比文本串中的每个字符与前缀树中的路径,来快速定位所有模式串的出现位置。 - **优化搜索...

    字符串转换工具

    首先,字符串在计算机科学中是基本的数据类型之一,通常由一串字符组成,如字母、数字或特殊符号。在处理字符串时,我们可能需要进行各种操作,比如编码转换、格式调整、加密解密等。字符串转换工具能够帮助我们便捷...

    java提取汉字首字母

    - 数据索引:在数据库中建立以首字母为键的索引,方便快速查找。 - 排序:在展示汉字列表时,可以按照首字母进行排序。 7. **注意事项**: - 处理多音字:有些汉字有多个读音,需要根据上下文判断正确的拼音。 ...

    程序员编程艺术:面试和算法心得

    - **知识点概述**: 查找匹配算法通常用于字符串处理中。 - **关键算法**: - KMP 算法:通过预处理模式串的 next 数组来提高查找效率。 - Boyer-Moore 算法:通过坏字符规则和好后缀规则快速排除不可能匹配的部分。...

    以下是使用C语言实现的算法源码,用于找到给定字符串中满足条件(只包含一个字母,其余都是数字)的最长连续子串的长度 c #in

    ### 使用C语言实现的算法:查找给定字符串中满足特定条件的最长连续子串 本文将详细介绍一个使用C语言编写的算法,该算法的目标是从给定的字符串中找出最长的连续子串,其中该子串满足以下条件:仅包含一个字母,...

    字母快速查找

    在IT领域,字母快速查找是一种常见的数据处理技巧,特别是在文本操作、编码解码以及搜索算法中。本主题主要关注如何高效地在字母表中定位和查找特定字母,这对于理解和优化计算机程序性能至关重要。 首先,我们要...

    下拉列表中文首字母选择

    2. **首字母提取**:从每个选项的拼音中提取首字母,创建一个简写字符串。对于多音字,可以选择最常见的读音,或者根据上下文来确定。 3. **实时匹配**:当用户在搜索框中输入拼音或拼音首字母时,实时更新匹配的...

    搜索一个文本文件字符串

    例如,`grep`命令在Linux/Unix系统中是一个强大的文本搜索工具,它支持正则表达式匹配,并能快速地在多个文件中查找字符串。而在编程环境中,Python的`re`模块提供了正则表达式的功能,使得搜索更为灵活和强大。 ...

    自动获取汉字首字母

    本项目“自动获取汉字首字母”是使用C#语言实现的一个Windows Forms应用程序,它能帮助用户快速、自动化地获取输入汉字的首字母,从而提高工作效率,减少人为错误。 C#是一种由微软开发的面向对象的编程语言,它...

Global site tag (gtag.js) - Google Analytics